亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

不太懂兩次賦值

這樣不是變成x的下兩個節點了?

function get_nextSibling(n){

? ? ? ? var x=n.nextSibling;

? ? ? ? while (x && x.nodeType!=1){

? ? ? ? ? ? x=x.nextSibling;

? ? ? ? }

? ? ? ? return x;

? ? }

問題如題。。


正在回答

3 回答

<script type="text/javascript">

? ? function get_nextSibling(n){

? ? document.write("n的值為:"+n.value);

? ? ? ? var x=n.nextSibling;

? ? ? ? while (x && x.nodeType!=1){

? ? ? ? ? ? x=x.nextSibling;

? ? ? ? }

? ? ? ? return x;

? ? }


? ? var x=document.getElementsByTagName("li")[0];

? ? document.write("x的值為:"+x.value+"<br/>"+x.nodeValue+"<br/>"+x.nodeName+"<br/>"+x.nodeType+"<br/>");

y=get_nextSibling(x);

</script>


0 回復 有任何疑惑可以回復我~
#1

qq_混沌肆虐_0 提問者

非常感謝!
2015-11-06 回復 有任何疑惑可以回復我~
#2

慕斯卡9402741

請問x.value為什么是0?
2016-01-15 回復 有任何疑惑可以回復我~

我的看法應該是兼容性問題吧,因為在谷歌和火狐下,空白的地方也算是一個節點,ie下空白則不會算是個節點,可以alert一下節點的個數看下

0 回復 有任何疑惑可以回復我~

我是這么理解不知道對不對,你可以參考下:

function get_nextSibling(n){

? ? ? ? var x=n.nextSibling; ? //這條語句是當下面的while循環不成立時返回的給return的值。

? ? ? ? while (x && x.nodeType!=1){ ? ? //當循環while成立時,即兩個條件滿足(while?會循環到返回的nodeType=1才會停止,并給x賦停止前得到的值)

? ? ? ? ? ? x=x.nextSibling; ? ?//給x重新賦值(新值會覆蓋舊值),給return返回這個新的值。

? ? ? ? } ? ? ? ? ??

? ? ? ? return x; ?//所以這里返回的x的值取決于while循環是否成立;

? ? }


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

不太懂兩次賦值

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號