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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新人求教,不知道該怎么形容這個問題

新人求教,不知道該怎么形容這個問題

精慕HU 2019-02-25 16:59:05
自學新人,遇到個問題不知道該搜索什么關鍵詞,所以來叨擾大家一下。這是HTML部分:<li class="article-item featured">    <header>Article #2</header>    //code</li><li class="article-item">    <header>Article #3</header>    //code</li>這是JS部分:var article2, article3;article2=$('.featured');article2.toggleClass('featured');article3=article2.next();article3.toggleClass('featured');article2的位置是.featured 。article3是article2的同級下一個標簽。但是article3是在article2刪除了.featured之后賦值的。為什么還能準確的找到原.featured的位置?這背后是什么運行機制?謝謝
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

article2=$('.featured'); article2 獲取到這個節點的引用后,可以執行dom 操作了,

article2.toggleClass('featured'); 這里刪除了featured類,我想最大的影響是 下次article5 = $(".featured") 就不能獲取到這個節點了,已經賦值了的article2并沒有改變,除非重新賦值 article2 = $(".featured") 就拿不到了。


查看完整回答
反對 回復 2019-03-06
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

article2=$('.featured');

這個代碼把 article2 指向了 <li class="article-item featured">...

article2.toggleClass('featured');

這個代碼 把 <li class="article-item featured"> 變成了 <li class="article-item"> 也僅僅只是去掉了一個 class 而已,操作的是 article2 指向的對象,并沒有操作 article2 的指針;除非,你在后面再重新執行一遍這個代碼,這個時候才找不到了

article2=$('.featured');

因為這個時候改動的是指針,
ps:當把一個對象賦值給一個變量時,其實是把這個變量指向這個對象;如果你修改變量的屬性,其實是修改這個對象,指針沒有變;當你重新賦值時,就是把他的指針重新指向右邊的表達式;


查看完整回答
反對 回復 2019-03-06
  • 3 回答
  • 0 關注
  • 414 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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