浏览器对换行的不同解析
时间:2010-10-28 来源:uedxiong
function empty(){
for(var i = 0 ,elem; (elem = this[i]) != null; i++){
if(elem.nodeType == 1){ //元素节点
jQuery.cleanData(elem.getElmentsByTagName('*')); //清除所有子节点的缓存数据
}
var count = 0 ; //我自己添加的
while(elem.firstChild){
count ++;
elem.removeChild(elem.firstChild);
}
}
//return this; //源码里面是返回jquery对象
return count; //为了测试
}
上面的代码很好理解,就是清除通过jquery得到的所有dom对象的孩子节点。
贴一段简单的HTML片段
<div id="test">
<div>child-1</div>
<div>child-2</div>
</div>
var count = $('#test').empty();
得到的测试结果如下:
Firefox/3.6.11: 5
IE/8.0: 2
Opera/10.63: 5
Safari/5.0.2: 5
抱歉,电脑chrome有问题,没有办法做更全面的测试。估计chrome也应该返回5,ie 9 beta没有测试,回去测试下。
通过上面的测试结果可以看的出来,除了ie外,所有的浏览器都会在Prasing阶段构建一个“空文本节点”,上面一共有3个换行。
今天第一次发blog,格式估计全挂了,回去下客户端。