<!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;
????}
????function?get_previousSibling(n){
???????var?x=n.previousSibling;
???????while?(x&&x.nodeType!=1){
???????????x=n.previousSibling;
???????}
???????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é)點");??????
????}
????var?zz=document.getElementsByTagName("li")[2];
????document.write("<br/?>這個節(jié)點名稱是:"+zz.nodeName+"<br/>這個節(jié)點值是:"+zz.innerHTML);
????var?z=get_previousSibling(zz);
????if(z!=null){
????????document.write(z.nodeName);
????????document.write("?=?");
????????document.write(z.innerHTML);
????}else{
????????document.write("<br?/>已經(jīng)是第一個節(jié)點");
????}
????
</script>
</body>
</html>
2017-02-15
??function?get_previousSibling(n){
???????var?x=n.previousSibling;
???????while?(x&&x.nodeType!=1){
???????????x=n.previousSibling;
???????}
???????return?x;
????}
這個方法中while循環(huán)里應該是
x=x.previousSibling();