IE是将一个完整标签作为一个节点。
Chrome除了将完整标签作为节点之外,把一个标签的结束符“>”到下一个标签的起始符“<”之间的内容(除注释外,包括任何的文字、空格、回车、制表符)也算是一个节点。
这样的话就会导致js获取childNodes在Chrome上会比IE上多。
处理办法:删除这些没用的节点
function delNode(parentNode){
var subNodes = parentNode.childNodes;
for(var i = 0;i < subNodes.length;i++){
if(subNodes[i].nodeType==3 &&
subNodes[i].nodeName=="#text"){
parentNode.removeChild(subNodes[i]);
}
}
return parentNode;
}
本文探讨了IE与Chrome浏览器中DOM节点处理的区别,并提供了一种实用的JavaScript函数来清理无用的文本节点,确保跨浏览器的一致性。
551

被折叠的 条评论
为什么被折叠?



