innerHTML与jquery里的html()区别?


innerHTML与jquery里的html()区别?

● html()可以设置tbody、tr这些只读标签,而innerHTML在低版本IE下不行;

jQuery的html()做了些容错处理,原生的Dom API innerHTML有些元素是不支持的,比如table tr等元素,IE下tbody、tr这些的innerHTML都是只读的,不允许写入,而在其他浏览器下则没问题。

jquery里是用了try,catch来检测,如果报错则在catch里重新调用this.empty().append(value),是通过append来添加字符串的。

(相关课程推荐:jQuery教程

● html()设置的script脚本会执行,innerHTML设置的script脚本不会执行。

因为jQuery 会把强行让参数字符串中的script 标签生效(方式是create and replace),而.innerHTML赋值则不会。

$('#app').html('<script>alert(1)</script>')  // 会弹出警告框
$('#app')[0].innerHTML = '<script>alert(1)</script>' // 不会弹出警告框
      // ↑使用[0]将jquery对象转为dom对象,只有dom对象才有innerHTML方法,jQuery没有。
Image placeholder
前端答疑
未设置
  87人点赞

没有讨论,发表一下自己的看法吧

推荐文章
jquery和jquery ui的区别?

jquery和jqueryui的区别?区别有:1、jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 2、jQueryUI则是在jQuery的基础上,利用jQuery的扩展性,

vue与jquery的区别是什么?

vue与jquery的区别是什么?vue和jquey的对比:jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DO

ajax与jquery的区别是什么?

jQuery是javascript的一个框架,也就是有人做好了很多功能,你直接拿来用就好了。比如实现Ajax。纯javascript,你可能需要些好多函数,来新建对象,捕捉事件,处理异常等。但用jQu

vue和jquery之间有什么区别?

首先我们来了解一下jquery和vue是什么?Vue是什么?Vue.js是一个前端JavaScript框架,用于构建用户界面。它是开源的。当使用其他JavaScript库时,它还可以用作集成工具。它本

jquery text() val() html()之间的区别是什么?

jquerytext()val()html()之间的区别是什么?●text()获取元素内的文本,相当于js中的innerText●val()获取表单元素的值,相当于js中的input.value●ht

jquery变量加$和不加$的区别?

jquery变量加$和不加$的区别?加$和不加$没有区别,因为它们都是jquery变量。一般在给jquery对象取名的时候在前面加$。一看就知道是jquery对象。变量命名规则中起始字符可以是:●字母

jQuery中attr()和prop()的区别?

attr():attr()方法设置或返回被选元素的属性和值。当该方法用于返回属性值,则返回第一个匹配元素的值。当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。prop():prop()方

jquery和js之间有什么区别?

js是一种脚本语言,常用于网页客户端编程,使网页在客户端浏览器中,实现更多地动态功能,表现出更加丰富的视觉效果。jQuery是一个简洁而快速的JavaScript库,可用于简化事件处理,HTML文档遍

jquery中prop()和attr()之间有什么区别?

1、操作对象不同很明显,attr和prop分别是单词attribute和property的缩写,并且它们均表示"属性"的意思。不过,在jQuery中,attribute和property却是两个不同的

jquery ui和easyui区别?

jqueryui和easyui区别?●jqueryui是jQuery插件,是由jQuery官方维护的UI方向的插件●easyui也是jQuery插件,是第三方维护的插件●jqueryui是免费的界面库

jquery中$和$()之间有什么区别?

$就是jQuery的别称而jQuery就是jQuery库提供的一个函数。这个函数的作用是根据()里的参数进行查找和选择html文档中的元素,函数作用之一就是GetElementByID的代替,但()内

jquery on()与click()之间有什么区别?

jqueryon()与click()的区别click()属于静态加载,当页面加载完,就不在为新增加的元素添加点击事件。on()属于动态加载,当页面加载完,可以为新增加的元素添加事件。但是必须选定负级元

jquery中on和bind之间有什么区别?

bind方法与on方法都是事件绑定,但是两者却又有着一个大区别:事件冒泡(事件代理);jquery文档中bind和on函数绑定事件的用法:.bind(events[,eventData],handle

jsp和html之间有什么区别?

HTML(HypertextMarkupLanguage)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言呢?因为,只要你有一个浏览器那么它就可以正常显示出来,而

HTML怎样引入jQuery?

HTML怎样引入jQuery?jquery的引入方式有两种,一种是本地引入,一种是引入在线jquery。相关专题推荐:《jQuery教程》方式一:本地引入(这种方法要求本地有jquery.js):我们

jquery如何获取html元素的内容?

jquery如何获取html元素的内容?一、text():设置或返回所选元素的文本内容文本信息 $('#p').text();//文本信息 $('#p').text('新的文本');二、html()

jquery html()方法怎么用?

jqueryhtml()方法怎么用?html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。在一个HTML文档中,我们可以使用.html()方法来获取任意一

使用html-webpack-plugin对HTML文件进行预处理

一、前言先整理一波之前和webpack相关的文章: 使用Webpack对CSS文件进行后处理 基于Webpack的CSSSprites实现方案 Stylus系列——webpack-spritesmit

jquery和vue的区别是什么?

jquery和vue的区别是什么?●jquery是直接操作DOM;使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作;和原生的js区别只在于可以更方便的选取和操作DOM对象;数据和界面

vuejs和jquery的区别是什么?

vuejs和jquery的区别1、jQuery首先要获取到dom对象,然后对dom对象进行进行值的修改等操作2、Vue是首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值

最受欢迎的编程语言排行:Python与Java谁更受欢迎?

Python在全球开发人员中的受欢迎程度急剧上升,专注于研究开发人员的SlashData最近公布了实际使用该语言的开发人员数量。根据SlashData的数据,目前世界上有820万使用Python编写代

js和jquery的区别是什么?

JavaScript和jQuery的区别:一、本质上的区别:js是网页脚本语言,而jQuery是基于js语言封装出来的一个前端框架。也就是说js是一种语言,而jQuery是基于该语言的一种框架。二、用

jquery不同版本的区别是什么?

目前jQuery有三个大版本:版本描述1.x兼容ie678,使用最为广泛的,官方只做bug维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.42.x不兼容ie678,很

jQuery中this和$(this)的区别是什么?

jQuery中this和$(this)的区别是什么?●$(this)相当于jQuery(this),是一个jQuery对象,只能使用jQuery的属性和方法;●this中存放的是DOM元素,属于jav

jQuery on()和click()的区别是什么?

jQueryon()和click()的区别是什么?●click()属于静态加载,当页面加载完,就不再为新增加的元素添加点击事件。●on()属于动态加载,当页面加载完,可以为新增加的元素添加事件。但是必