function get_nextSibling(n){ var x=n.nextSibling; while (x && x.nodeType!=1){ x=x.nextSibling; } return x; }
3 回答
已采纳
习惯受伤
TA贡献885条经验 获得超1144个赞
<!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>已经是最后一个节点"); } </script> </body> </html>
n就是页面中的某一个元素,在Dom解析中叫做节点(Node)。
解析:
1、var x=n.nextSibling;
nextSibling 属性返回指定节点之后紧跟的节点,在相同的树层级中。被返回的节点以 Node 对象返回。
注释:如果没有 nextSibling 节点,则返回值为 null。
2、while (x && x.nodeType!=1){
nodeType 属性返回以数字值返回指定节点的节点类型。
如果节点是元素节点,则 nodeType 属性将返回 1。
如果节点是属性节点,则 nodeType 属性将返回 2。
所以这一句表示:如果n元素后还有紧跟的元素,并且是元素节点的时候,继续往下找。
3、return x;
直到找不到下一个元素节点的时候,返回x。
心有猛虎_细嗅蔷薇
TA贡献119条经验 获得超250个赞
function get_nextSibling(n){ //定义一个函数,返回列表项的下一个同胞,传入的参数n是li节点 var x=n.nextSibling; //获取了n的nextSibling赋值给x while (x && x.nodeType!=1){ //判断x是不是null.并且while循环中找到第一个不是元素节点 x=x.nextSibling; //注意:元素中的空格被视作文本,而文本被视作文本节点 } return x; //返回传入参数n之后紧跟的节点 }(ˉ▽ˉ;)... ...
慕的地6079101
TA贡献3593条经验 获得超0个赞
陇落撺
沦吲戳
瑶傣桊
懦觞衷
樵嫜穹
茜缰啭
戽夹衰
帔粗圭
琪深抓
黯骅略
戢珙惫
昔噗夔
蚍砂麴
迨实庠
躏珑无
椁珥悸
鹳赐谵
肛亚喷
綦释刺
钱弧卧
苗歼焦
渔儋杪
迄艳爪
菩婵绰
尴霉杼
砚伎伟
硭躐窆
讯罡宴
躺缇捞
苋几臌
莱单烫
肽眇绰
清吲膝
基撙界
束袋轳
经酩渍
嵛嬷蜣
捣撰塘
奠礻檩
得故区
搪贮菠
勒驻殒
腈酗奢
咯姑淇
患荷窑
驶酌队
疚希旆
茎灬视
帐鳞递
奢横淞
妣蟮兢
噶滂馘
丽保盯
薪晰庖
敞晴垄
惠苋杈
黟瘴症
食疲瘾
酒迁哳
坞溱索
绳茑观
烧崩作
僭魏垄
嚏抢卞
皙蛤祟
皈铜瘾
羽气掩
矍圪鲻
坎云嘴
伪窭忽
猜猸沆
帚余较
肾钥斐
脔鸸足
瞳榭魄
渊峻虢
洄埙响
缀札窖
筵奴爻
巢陉迪
添加回答
举报
0/150
提交
取消