这一步不通过 function insertAfter(newElement,targetElement){ var parent=targetElement.parentNode; if(parent.LastChild == targetElement){ parent.appendChild(newElement); }else{ parent.insertBefore(newElement,targetElement.nextSiling); } } function creatediv(){ var faxtagbox=document.getElementById("faxtag"); var faxli=faxtagbox.getElementsByTagName("li"); var showdiv=document.createElement("div"); //insertAfter(showdiv,faxli); alert("test"); } 以上代码运行正常,但如果我把//insertAfter(showdiv,faxli);这行取消注释就不行了。。。大师们指点一下!!! [解决办法]
改这一行即可,取到的是数组,加上下标即可。 var faxli=faxtagbox.getElementsByTagName("li")[0]; [解决办法]
var faxli=faxtagbox.getElementsByTagName("li"); 这个取到的是数组,如果数组的元素有多个,就不知道插到那个元素的前面,所以要指定下标。