IE和FireFox中的childNodes區(qū)別!!
2012/3/19 9:20:18
Javascript中,相信大家都試過用getElementsByTagName和childNodes來實(shí)現(xiàn)對節(jié)點(diǎn)的遍歷。但是 getElementsByTagName對復(fù)雜的DOM結(jié)構(gòu)遍歷明顯不如用childNodes,因?yàn)閏hildNodes能更好的處理DOM的層次結(jié)構(gòu),建議在需要進(jìn)行了遍歷時(shí)首先使用childNodes!!
但是不幸的是,在IE和FireFox中childNodes有點(diǎn)細(xì)微的差別:
<head> <script type="text/javascript">
function view(){
var childs1=$('FirstDiv').childNodes;
var childs2=$('SecondDiv').childNodes;
alert("length of FirstDiv: "+childs1.length+"--length of SecondDiv: "+childs2.length);
}
var $=function(id)
{ return document.getElementById(id); }
</script>
</head>
<html >
<body onload="view();">
<!--第一個(gè)遍歷對象,節(jié)點(diǎn)之間留有空格和回車-->
<div id="FirstDiv">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
<!--第二個(gè)遍歷對象,除注釋外,節(jié)點(diǎn)間無空格回車-->
<div id="SecondDiv"><div>first</div><div>second</div><div>third</div></div>
</html>
用IE和Firefox運(yùn)行會(huì)有兩個(gè)不同的結(jié)果:IE的結(jié)果是3:3;而Firefox則是7:3。怎么會(huì)有這種情況呢?
在結(jié)構(gòu)上,對象1和對象2不同的是對象1的子節(jié)點(diǎn)間有回車或者空格,而對象2則是一行寫到尾。大家都應(yīng)該想到了吧,IE是將一個(gè)完整標(biāo)簽作為一個(gè)節(jié)點(diǎn)。而 Firefox除了上述的的情況外,也把一個(gè)標(biāo)簽的結(jié)束符“>”到下一個(gè)標(biāo)簽的起始符“<”之間的內(nèi)容(除注釋外,包括任何的文字、空格、回車、制表符)也算是一個(gè)節(jié)點(diǎn)了。而且這種節(jié)點(diǎn)也有它們自己獨(dú)特的屬性和值--nodeName="#text"。
在實(shí)際運(yùn)用中,F(xiàn)irefox在遍歷子節(jié)點(diǎn)時(shí),在for循環(huán)里不妨加上:
if(childNode.nodeName=="#text") continue;
或者nodeType == 1。
這樣,便跳過不需要的操作,使程序運(yùn)行的更有效率。
附: Node.ELEMENT_NODE == 1 Node.ATTRIBUTE_NODE == 2 Node.TEXT_NODE == 3 Node.CDATA_SECTION_NODE == 4 Node.ENTITY_REFERENCE_NODE == 5 Node.ENTITY_NODE == 6 Node.PROCESSING_INSTRUCTION_NODE == 7 Node.COMMENT_NODE == 8 Node.DOCUMENT_NODE == 9 Node.DOCUMENT_TYPE_NODE == 10 Node.DOCUMENT_FRAGMENT_NODE == 11 Node.NOTATION_NODE == 12
例
var node = document.documentElement.firstChild;
if(node.nodeType != Node.COMMENT_NODE)
alert("You should comment your code well!");
返回列表
返回首頁
主站蜘蛛池模板:
午夜dj在线观看免费视频|
在线免费观看欧美大片|
久草福利资源在线观看|
波多野结衣先锋影音|
午夜视频在线免费|
青青草91久久国产频道|
国产精品jizz在线观看直播|
99久久精品免费观看国产|
性色AV无码中文AV有码VR|
久久亚洲AV成人无码|
最近中文字幕网2019|
亚洲日韩国产成网在线观看|
男女边摸边吃奶边做免费观看|
四虎成年永久免费网站|
高清伦理电影在线看|
国产精品入口麻豆免费|
99RE66在线观看精品免费|
婷婷人人爽人人爽人人片|
中文字幕第233页|
日本护士在线视频xxxx免费
|
好紧好大好爽14p|
中文字幕在线资源|
日本边添边摸边做边爱边|
亚洲av日韩综合一区在线观看|
污污视频在线免费观看|
免费一区二区视频|
精品国偷自产在线视频|
国产一区二区三区不卡在线看
|
扒开老师的蕾丝内裤漫画|
久久国产精品久久精品国产|
最近免费中文字幕中文高清|
亚洲国产精品久久久久婷婷软件
|
第272章推倒孕妇秦|
午夜精品久久久久久久99|
老师您的兔子好软水好多动漫视频|
国产在线观看麻豆91精品免费
|
香蕉大视频在线播放持久|
国产成人精品综合在线观看|
free性欧美另类高清|
国产精品毛片大码女人|
91酒店疯狂输出女神范范|