您的位置:首页 - jQuery
innerHTML与jquery里的html()区别
我原本一直以为javascript中的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的跨浏览器兼容能力。

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

jquery 如何使用innerHTML

$("#responsediv") 是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样写$("#responsediv")[0].innerHTML=msg 就可以获得这个Dom对象使用innerHTML。
本站导航
相关文章
柯乐义 Copyright© keleyi.com