2013-12-09 44 views
-1

這裏是我有一個問題jQuery腳本:jQuery的刪除/添加類腳本不起作用

$(document).ready(function(){ 
    $("li").click(function(){ 
     $(".active").removeClass("active") 
     $(this).addClass("active") 
    }); 
}); 

腳本應該使鏈接/網頁的背景顏色,你是在 橙色通過使用爲類(。)活動的 編程的css,腳本應從活動的鏈接中移除活動類並將該類添加到單擊的鏈接。

關於腳本應該如何做到這一點: 如果點擊li,活動類的東西將被刪除類, 比點擊的東西(這個)將獲得活躍的類。 我用這一點,但現在看來,這不工作

+0

粘貼HTML代碼 – Noor

+0

放後semicolumn:$( 「激活 」)removeClass(「 活動」) – Michiel

+0

被觸發的事件? –

回答

-1

您的代碼應該是這樣的:

$(function() { 
    $("li").click(function() { 
     $(".active").removeClass("active"); 
     $(this).addClass("active"); 
    }); 
}); 

如果我理解你想要做什麼,那麼這應該工作。

我的確建議你的問題更好一些,因爲它乍一看很難理解。另外,提供jsFiddle通常是詢問javascript/jQuery時的一個好選擇。

+0

謝謝你,我也試過,但似乎沒有工作。 –

+0

和是的,我有點代碼,除了分號只有我真的不明白如何在這裏輸出代碼和分號沒有幫助 –

+0

@DylanLindelauf你能解釋downvote是什麼?僅僅因爲我的例子不適合你,並不意味着它是不好的代碼。 – Kehlan

1

我不知道這是否是複製粘貼錯誤或沒有,但你缺少分號:

$(document).ready(function(){ 
    $("li").click(function(){ 
     $(".active").removeClass("active"); 
     $(this).addClass("active"); 
    }); 
}); 

更新:基於我對此的迴應的意見,我覺得我應該補充說我說分號丟失了,因爲代碼全部在一行。如果不是這種情況,那麼分號不會解決問題。如上所述,上述代碼沒有任何問題,因此錯誤必須位於頁面上的其他位置,而沒有足夠的信息提供給我們來修復它。

+0

你不需要使用javascript的分號:http://inimino.org/~inimino/blog/javascript_semicolons –

+0

我知道這一點,但如果它全部在一行中沒有換行符,那麼你需要分號。對我而言,我總是添加分號以消除任何疑問。 –

+1

這是很好的建議,但它不是這個問題的答案。 –

0
Try this: 

JS

$(document).ready(function(){ 
     $("li").click(function(){ 
     $(this).parent("ul").find("li").removeClass('active'); 
     $(this).addClass("active"); 
     }); 
    }); 

另外,不要忘了在行的末尾添加;

+0

'$ this' is undefined – charlietfl

+0

抱歉忘了括號...檢查回答 – Ani

+1

爲什麼如果使用'$('.active')。removeClass()'不?如果涉及neste UL,也可能太嚴格 – charlietfl

0

我不是一個jQuery的專家,但,如果我明白你的問題很好,這應該藉機...它爲我做的:

$('li').each(function(){ 

    $(this).click(function(){ 
     DeselectCurrent();   
     $(this).addClass("active"); 
    }); 
}); 

var DeselectCurrent = function() { 
    $('li').each(function(){ 
     var attr = $(this).attr('class');    

     if (typeof attr !== 'undefined' && attr !== false) { 
      $(this).removeClass("active"); 
     } 
    }); 
}; 

是的,我認爲這是有點缺憾,而且效率不高因爲它可能應該是,但它可能會解決你想要做的。

jsfiddle例如