innerHTML与jquery里的html()区别介绍
2015-11-30 14:57
531 查看
我原本一直以为innerHTML和jquery里的html其实是完全一样的,jquery是多此一举了,直到我遇到一次问题
看个示例:
复制代码 代码如下:
var tbody=document.createElement('tbody');
tbody.innerHTML='<tr><td>IE下tbody的innerHTML是只读的</td></tr>'; //在IE下报错,目标对象错误
现在用jquery的html试试,
复制代码 代码如下:
$(tbody).html('<tr><td>IE下tbody的innerHTML是只读的</td></tr>');
发现IE下用jquery能正确显示了,没任何问题。
后来查阅资料才知道,原来IE下tbody、tr这些的innerHTML都是只读的,不允许写入,而在其他浏览器下则没问题。
而jquery里是用了try,catch来检测,如果报错则在catch里重新调用this.empty().append(value),是通过append来添加字符串的。
jquery 如何使用innerHTML
$("#responsediv")
是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样
写$("#responsediv")[0].innerHTML=msg 就可以获得这个Dom对象使用innerHTML。
今天在这个基础上加上了一个后加载广告的方法:
代码如下:
?
百度管家自带的后加载广告的代码,基于jquery
?
看个示例:
复制代码 代码如下:
var tbody=document.createElement('tbody');
tbody.innerHTML='<tr><td>IE下tbody的innerHTML是只读的</td></tr>'; //在IE下报错,目标对象错误
现在用jquery的html试试,
复制代码 代码如下:
$(tbody).html('<tr><td>IE下tbody的innerHTML是只读的</td></tr>');
发现IE下用jquery能正确显示了,没任何问题。
后来查阅资料才知道,原来IE下tbody、tr这些的innerHTML都是只读的,不允许写入,而在其他浏览器下则没问题。
而jquery里是用了try,catch来检测,如果报错则在catch里重新调用this.empty().append(value),是通过append来添加字符串的。
jquery 如何使用innerHTML
$("#responsediv")
是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样
写$("#responsediv")[0].innerHTML=msg 就可以获得这个Dom对象使用innerHTML。
今天在这个基础上加上了一个后加载广告的方法:
代码如下:
?
?
相关文章推荐
- 轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
- 35个 jQuery 小技巧/代码片段
- jquery.jbox JBox-v2.3修改版
- jquery动态添加下拉框---待续
- jquery click事件绑定
- Jquery 实现div拖拽
- 轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
- jquery 雪花飘落的组件
- jQuery动态操作表单
- jquery限制复选框个数最多为3个
- jquery获得焦点按下enter键清除文本框
- Jquery according
- 轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
- 20个jquery地图插件-上(基于Google Maps API)
- jquery加选中样式
- jquery管理搜索框的值
- DOM/jQuery的submit() 方法失效的解决方案
- jQuery动态添加删除select项(实现代码)
- jquery 操作数组深拷贝
- 让zepto和jquery可以同时使用