日期:2014-05-16  浏览次数:20322 次

这一步不通过
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);这行取消注释就不行了。。。大师们指点一下!!!

------解决方案--------------------
引用:
function insertAfter(newElement,targetElement){
var parent=targetElement.parentNode;
if(parent.LastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore……

改这一行即可,取到的是数组,加上下标即可。
var faxli=faxtagbox.getElementsByTagName("li")[0];
------解决方案--------------------
引用:
引用:引用:function insertAfter(newElement,targetElement){
var parent=targetElement.parentNode;
if(parent.LastChild == targetElement){
parent.appendChild(new……

var faxli=faxtagbox.getElementsByTagName("li");
这个取到的是数组,如果数组的元素有多个,就不知道插到那个元素的前面,所以要指定下标。