2012-03-17 66 views
6

我需要從所有的表格單元格中刪除一個類時,元素的父母有一個特定的ID。檢查ID等於

$(".closethis").click(function(){ 
    var $this = $(this).parent().parent(); 
    if ($this.attr("id") == "mainArea") { 
     $("#myTbl").removeClass("myClass"); 
    } 
}); 

我需要檢查的ID,因爲這是一個功能的一部分,如果ID不等於這個值就可能是另一種情況。

看起來正確,但它似乎並沒有工作。我錯過了什麼嗎?

+1

你最好給演示。你是什​​麼意思的$(「#。myTbl」),這是一個錯字? – xdazz 2012-03-17 15:08:34

+1

請發佈您的HTML以及。這看起來不正確:'$(「#。myTbl」)'可能$(「#myTbl td」)? – Smamatti 2012-03-17 15:09:49

+0

如果你需要一個元素的父親,爲什麼你要做父母()。parent()?如果你發佈了一些html,或者更好的創建了jsFiddle,它會有所幫助。 – 2012-03-17 15:10:20

回答

8

嗯..好吧.. $ var看起來像PHP ..我只是說它就是這樣。另外,你有#。在MYTBL這意味着id和class ....所以這取決於你如何識別細胞..但假設細胞TD ID'd「MYTBL」表內的,試試這個

$(".closethis").click(function(){ 
    var checkDiv = $(this).parent().parent(); 
    if (checkDiv.attr("id") == "mainArea") { 
     $("#myTbl").find('td').removeClass("myClass"); 
    } 
}); 

如果你不能做這件事,給我們每個元素的ID或類,我們可以給你正確的代碼。

+5

在一個變量的前面把'$'是慣例一些用途指定一個變量保持一個jQuery對象。它與PHP無關。 – 2012-03-17 15:15:16

9

嘗試使用本jQuery中的is功能。

if ($this.is('#mainArea')) { ... }