2 回答

TA貢獻(xiàn)158條經(jīng)驗 獲得超188個贊
// 你這代碼改改就行, 套兩個循環(huán)直接取消所有的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";
??????? }
??? }
}

TA貢獻(xiàn)9條經(jīng)驗 獲得超5個贊
原生js:定義一個函數(shù),把this對象作為參數(shù),遍歷li,進(jìn)行對比,不滿足條件就去掉。
jquery:..不談,你這是原生js。。
添加回答
舉報