2012-03-17 67 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')) { ... }