var eleUL=document.getElementById("comicList");
var listName="";
if (ele.hasChildNodes()) {
var eleLI = eleUL.childNodes;
for (var i=0,len=eleLI.length;i<len;i++){
listName += eleLI[i].nodeName + "\n";
}
alert(listName);
}
IE
LI
LI
LI
MF
#text
LI
#text
LI
#text
LI
#text
解決
function nextSib(node){
var tempLast = node.parentNode.lastChild; //取得node的最後一個節點
if (node ==tempLast) { //是否為最後一個節點
return null;
}
var tempObj = node.nextSibling; //非最後一個,可找下一個Node
while ( tempObj.nodeType!=1 && tempObj.nextSibling!=null) //nodeType不是元素節點且不是最後一個,即找到元素節點為止
tempObj = tempObj.nextSibling; //往下找下一個
return (tempObj.nodeType==1) ? tempObj:null; //如果是元素節點,傳回節點本身,否則傳回null
}
function prevSib(node){
var tempFirst = node.parentNode.firstChild; //取得node的第一個節點
if (node ==tempFirst) { //是否為第一個節點
return null;
}
var tempObj = node.previousSibling; //非第一個,可往上找上一個Node
while ( tempObj.nodeType!=1 && tempObj.previousSibling!=null) //nodeType不是元素節點且不是第一個,即找到元素節點為止
tempObj = tempObj.previousSibling; //往上找上一個
return (tempObj.nodeType==1) ? tempObj:null; //如果是元素節點,傳回節點本身,否則傳回null
}
var eleLI = document.getElementById("Naruto");
var nextItem = nextSib(eleLI);
var preItem = prevSib(eleLI);
if (nextItem != null) //傳回不是null,是元素節點
...
function replaceNodeText(id, newText){
var node=document.getElementById(id);
while (node.firstChild)
node.removeChild(node.firstChild);
node.appendChild(document.createTextNode(newText);
}