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

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

哪里出錯了

otest.insertBefore(newnode,otest[i]); ? ?這句話錯了?

正在回答

3 回答

回復 lpn121:剛沒認真看,你代碼還是很有問題的
這么寫才是正確的
var otest = document.getElementsByTagName("ul")[0];
var newnode = document.createElement("li");
newnode.innerHTML="PHP";
for(var i=0;i<otest.childNodes.length;i++){
??? if(otest.childNodes[i].innerHTML=="HTML"){
?????? otest.insertBefore(newnode,otest.childNodes[i]);?????? ?
??? }else{
?????? document.write("no");
??? }
}

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

Crazy丶魂

insertBefore() 方法是在指定的已有子節點之前插入新的子節點
2015-03-31 回復 有任何疑惑可以回復我~

otest.insertBefore(newnode,otest[i]); ?改成otest[i].parentNode.insertBefore(newnode,otest[i]); ?

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

lpn121 提問者

返回父節點
2015-04-01 回復 有任何疑惑可以回復我~

var otest = document.getElementsByTagName("ul")[0].childNodes;

把后面的.childNodes去了,insertBefore你必須明確指出哪個節點,childNodes返回的是子節點NodeList

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

lpn121 提問者

var a=document.getElementById("test"); a.insertBefore(newnode,otest[i]); 在for循環里面加多了這一句。是不是var otest = document.getElementsByTagName("ul")[0].childNodes; 之后otest變成了<ul>的子節點?
2015-03-31 回復 有任何疑惑可以回復我~
#2

Crazy丶魂 回復 lpn121 提問者

是的,childNodes這個方法就是取的所有孩子節點
2015-03-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

哪里出錯了

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

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

幫助反饋 APP下載

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

公眾號

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