為什么要寫成getElementByTagName("li")[2]?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"> <title>nextSibling</title> </head> <body> <ul?id="u1">??? ????????????<li?id="a">javascript</li>??? ????????????<li?id="b">jquery</li>??? ????????????<li?id="c">html</li>??? ????????</ul>??? ????????<ul?id="u2">??? ????????????<li?id="d">css3</li>??? ????????????<li?id="e">php</li>??? ????????????<li?id="f">java</li>??? ????????</ul>??? <script?type="text/javascript"> ????function?get_nextSibling(n){ ????????var?x=n.nextSibling; ????????while?(x?&&?x.nodeType!=1){ ????????????x=x.nextSibling; ????????} ????????return?x; ????} ????var?x=document.getElementsByTagName("li")[0]; ????document.write(x.nodeName); ????document.write("?=?"); ????document.write(x.innerHTML); ???? ????var?y=get_nextSibling(x); ???? ????if(y!=null){ ????????document.write("<br?/>nextsibling:?"); ????????document.write(y.nodeName); ????????document.write("?=?"); ????????document.write(y.innerHTML); ????}else{ ??????document.write("<br>已經(jīng)是最后一個節(jié)點");?????? ????} function?get_previousSibling(n){ ????????var?a=n.previousSibling; ????????while(a&&a.nodeType!=1){ ????????????a=a.previousSibing; ????????} ????} ???? ?????var?a=document.getElementsByTagName("li")[2]; ????document.write("<br/>"+a.nodeName); ????document.write("="); ????document.write(a.innerHTML); ???? ????var?b=get_previousSibling(a); ????if(b!=null){? ????????document.write("<br/>previoussibling:"); ????????document.write(b.nodeName); ????????document.write("="); ????????document.write(b.innerHTML); ????} ????else{??? ????????document.write("<br/>已經(jīng)是第一個節(jié)點"); ????} </script> </body> </html>
第49行,為什么下標要寫成2?我疑惑的是2是怎么來的?
2015-03-12
因為getElementByTagName("li")是獲取所有的li元素,得到的結(jié)果是一個數(shù)組,加上[2]是表示只獲取第三個li
2015-03-12
獲取名字為li元素數(shù)組中的第三個元素,也就是郵標為2的元素