2010-02-25 8 views
1

HI,jquery, sélecteur, le style

Comment puis-je ajouter par jQuery, une classe "test" juste pour qu'avons style = "display: none",

Sortie:

<tr style="display:none" class="test"></td></td></tr> 
<tr></td></td></tr> 
<tr style="display:none" class="test"></td></td></tr>> 
<tr></td></td></tr> 

Merci

+0

la question est ... Comment puis-je ajouter la classe 'test' à un tr qui a' style = "display: none" '? –

Répondre

3

Eh bien le: qualificatif "caché" est une sorte de-ce que vous voulez:

$('div:hidden').addClass('test'); 

C'est un peu floconneux parce que ": hidden" ne s'applique pas seulement aux éléments avec un style explicite "display: none". Si vous voulez vraiment qu'il soit robuste, il vaudrait mieux donner à vos éléments cachés un autre nom de classe (même s'il n'a aucun effet CSS). Ensuite, vous pouvez écrire:

$('div.testMe').addClass('test'); 
+0

+1, mais devrait être '$ ('tr: hidden'). AddClass ('test');' –

+0

J'aime comment jquery vous rend meilleur à css :-) –

+0

$ ('tr: hidden'). AddClass ('tester'); –

0
$(document).load(function() { 
    $('.test').hide(); 
}); 
+0

$ (function() {}) est équivalent à $ (document) .load (function {}) –

+0

J'utilise réellement $ (function() {}), mais beaucoup de noobs jQuery ne connaissent pas cette syntaxe, donc J'ai utilisé la syntaxe plus verbeuse. –

0

ou si vous voulez modifier son style .. utiliser

$(function() { 
    $('.test').css("display", "none"); 
}); 
2
$("tr").each(function(){ 
    if($(this).css("display") == "none") 
     $(this).addClass("test"); 
}); 
+0

Le seul qui a répondu à la question +1 –

2

Vous pouvez faire:

$(".test[style*=none]") 

ou

$(".test:hidden") 

ou (le plus précis à votre question)

$(".test").filter(function() { return $(this).css('display') == 'none'; });