亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問!childNodes不是返回的數組嗎?為何for循環里不能運行?

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<ul?id="con">
<li?id="lesson1">javascript
??<ul>
?????????<li?id="tcon">?基礎語法</li>
?????????<li>流程控制語句</li>
?????????<li>函數</li>
?????????<li>事件</li>
?????????<li>DOM</li>
??</ul>
</li>
<li?id="lesson2">das</li>
<li?id="lesson3">dadf</li>
<li?id="lesson4">HTML/CSS
??<ul>
?????<li>文字</li>
?????<li>段落</li>
?????<li>表單</li>
?????<li>表格</li>
??</ul>
??</li></ul>
?<script??type="text/javascript">
???var?mylist?=?document.getElementById("tcon");
???var?x?=?mylist.parentNode.parentNode.parentNode.childNodes[7].childNodes[1];//.childNodes[3].childNodes[0].nodeValue;
???for(var?i?=?0;i<x.childNodes.length;i++){
???????document.write(x.childNodes[i].childNodes[0].nodeValue);
???}
</script>
</body>
</html>


正在回答

2 回答

document.write(x.childNodes[i].childNodes[0].nodeValue);

childNodes[i]的子節點有元素節點和文本節點,文本節點沒有子節點,所以childNodes[0]這里會出錯

0 回復 有任何疑惑可以回復我~
#1

慕蓋茨9358327 提問者

我有試過加if判斷,如果是元素節點(類型為1)那就執行這段代碼,結果還是一樣不行。
2018-05-22 回復 有任何疑惑可以回復我~
#2

慕蓋茨9358327 提問者

非常感謝!問題是我的判斷語句的條件出錯了
2018-05-23 回復 有任何疑惑可以回復我~
<script??type="text/javascript">
???????var?mylist?=?document.getElementById("tcon");
???????var?hc=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1].childNodes;
???????for(var?i=0;i<hc.length;i++){
?????????if(hc[i].nodeType==3){
?????????????continue;
?????????}
?????????else{
?????????????document.write(hc[i].firstChild.nodeValue+'<br/>');
?????????}
???????}
</script>

為啥這段代碼卻可以??

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問!childNodes不是返回的數組嗎?為何for循環里不能運行?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號