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

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

怎樣實現導航欄單擊切換,單擊第一個添加了一個class,但是怎么在單擊第二個時,移除第一個的class

怎樣實現導航欄單擊切換,單擊第一個添加了一個class,但是怎么在單擊第二個時,移除第一個的class

笑出強大_0 2017-07-29 17:33:10
? ? window.onload = function(){? ? ? ? var li=document.getElementsByTagName("li");? ? ? ? for(var i=0;i<li.length;i++){? ? ? ? ? ? li[i].onclick = function(){? ? ? ? ? ? ? ? this.className="active";? ? ? ? ? ? }? ? ? ? ? ? li[i].className="";? ? ? ? }? ? }
查看完整描述

2 回答

已采納
?
千秋此意

TA貢獻158條經驗 獲得超188個贊

// 你這代碼改改就行, 套兩個循環直接取消所有的class

window.onload?=?function()?{
????var?li?=?document.getElementsByTagName("li");

????for?(var?i?=?0;?i?<?li.length;?i++)?{
????????li[i].onclick?=?function()?{
????????????for?(var?i?=?0;?i?<?li.length;?i++)?{
????????????????li[i].className?=?"";
????????????}
????????????this.className?=?"active";
????????}
????}
}


// 或者把前一個li保存起來

window.onload = function() {
??? var li = document.getElementsByTagName("li");
??? var preNode = null;

??? for (var i = 0; i < li.length; i++) {
??????? li[i].onclick = function() {
??????????? if (preNode !== null) {
??????????????? preNode.className = '';
??????????? }
??????????? preNode = this;
??????????? this.className = "active";
??????? }
??? }
}

查看完整回答
2 反對 回復 2017-07-30
?
前端小蝸牛_

TA貢獻9條經驗 獲得超5個贊

原生js:定義一個函數,把this對象作為參數,遍歷li,進行對比,不滿足條件就去掉。

jquery:..不談,你這是原生js。。

查看完整回答
反對 回復 2017-07-29
  • 2 回答
  • 0 關注
  • 2132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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