2012-03-17 16 views
6

Necesito eliminar una clase de todas las celdas de la tabla cuando el elemento primario de un elemento tiene una ID particular.Compruebe si ID es igual a

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

que necesito para comprobar si hay identificación porque esto es parte de una función y si el identificador no es igual a este valor es probable que sea para otro caso.

Parece correcto, pero parece que no funciona. ¿Me estoy perdiendo de algo?

+1

Será mejor que dé una demostración. ¿Y a qué te refieres con '$ (" #. MyTbl ")', es un error tipográfico? – xdazz

+1

Por favor, publique también su HTML. Esto no se ve bien: '$ (" #. MyTbl ")' Probablemente $ ("# myTbl td")? – Smamatti

+0

Si necesita el elemento primario de un elemento, ¿por qué está haciendo parent(). Parent()? Si publicaste algún html, o mejor aún, creaste un jsFiddle, sería útil. –

Respuesta

8

Hmm ... Ok ... $ var se parece a PHP ... yo solo lo llamaría así. Además, tienes #. en su MyTbl que significa id y class .... por lo que depende de cómo se está identificando las células .. pero suponiendo que las células son de TD dentro de una tabla Identifican un "MyTbl", probar este

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

Si no puedes hacer que funcione, danos los ID o las clases de cada elemento y podemos darte el código correcto.

+5

Poner' $ 'delante de una variable es una convención que se usa para designar una variable que contiene un objeto jQuery. No tiene nada que ver con PHP. –

9

Intente utilizar la función is presente en jQuery.

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