innerHTML||$(selector).html()在IE和Chrome中的另一种区别
时间:2011-04-29 来源:迈克尔二孬
首先看一下这篇文章:
innerHTML在ie,firefox,chrome的区别
http://buzheng.org/web-front/difference-of-implements-of-innerhtml-in-ie-and-firefox/
说的是在有未闭合的标签的情况下不同浏览器处理方式的差别。
最近项目要从ie6上迁移到chrome上,原来好好的一段代码现在不执行了:
View Code 1 if ($('#divStudy').html()=='') {2 $.post(url,{...})}
document.getElementbyId().innerHTML结果一致
div的内容是这样的:
1 <!--居住地信息修改-->2 <div id="divStay" class="tabStyle">
3 </div>
执行alert的结果为
alert($(fillDiv).html() == '');--false 提示框内为空白alert($(fillDiv).html().length);--9
检查了divStay内没有任何空白,我就奇怪了,这个9是怎么出来的?经过一个小时的排查未果后,我把鼠标光标移到</div>然后点击回退,9下之后变成了:
<div id="divStay" class="tabStyle"></div>靠!难道是这个原因?果然再次alert后length为0.
总结:IE认为回车造成的标签开始和结束分隔内的内容为空,Chrome认为回车后会产生九个空格字符(也许是其他数字)
相关阅读 更多 +