2010-03-20 64 views
0

我有以下的JQuery語句,它添加了「當前」類,但它不是從類中刪除類的兄弟姐妹。removeClass jquery語句不起作用

任何想法爲什麼?

$('.page_link[longdesc=' + page_num + ']') 
    .addClass('current').siblings('.current').removeClass('current'); 

馬爾科姆

+1

你有這個樣本HTML?你確定兄弟姐妹()能抓住你想要的東西嗎? – 2010-03-20 11:07:45

+0

這是一個標記問題。複製上面的例子,並使用它看起來你試圖應用這個片段的標記,我能夠得到它的工作,這意味着它不是你的JavaScript/jQuery邏輯的問題。 – gpmcadam 2010-03-20 11:41:44

回答

3

沒有你的HTML標記,我猜你的類不能直接兄弟姐妹,但包裹的東西(也許到給他們一個邊界?)在這種情況下,.siblings()未找到任何東西。

在任何情況下,它可能是簡單的只是刪除所有class="page_link"元素current而不關心他們在哪裏,這樣的:

$(".page_link.current").removeClass('current'); 
$('.page_link[longdesc=' + page_num + ']').addClass('current'); 
+0

謝謝,我仍然困惑,爲什麼如果我有這不起作用? $(「。currentmenuItem」)。removeClass(「currentMenuItem」);我不得不這樣做 $(「#mainMenu .currentmenuItem」)。removeClass(「currentMenuItem」); – vvMINOvv 2011-11-20 01:06:23

+0

@vvMINOvv - 類是區分大小寫的,'Menu'中的'M'不同於你的第一行:) – 2011-11-20 02:16:32

+0

@Nick_Craver - 愚蠢的我。非常感謝你 – vvMINOvv 2011-11-20 07:17:13