2009-03-25 10 views
24

Comment puis-je choisir le <span>display est réglé sur none dans le code ci-dessous?En jQuery, comment puis-je sélectionner un élément caché?

<p id="p1"> 
<span id="test1" style="display:none">test1</span> 
<span id="test2" >test2</span> 
</p> 

je peux sélectionner le <span> dont l'ID est « test1 » en utilisant $("span[id='test1']"), mais il ne fonctionne pas quand je l'utilise $("span[style='display:none']").

est-il une méthode pour obtenir cet élément à la fois?

Merci beaucoup.

+0

Jetez un coup d'oeil ici aussi https://api.jquery.com/hidden-selector/ –

Répondre

42

Vous cherchez le sélecteur :hidden

S'il vous plaît noter que la bonne façon de sélectionner un élément par ID est simplement:

$("#test1"); 

Faire la façon dont vous faites est fait jQuery ne analyse syntaxique inutile et est beaucoup plus lent.

Si vous voulez sélectionner #test1 que si elle est cachée, vous faites ceci:

$("#test1:hidden"); 

Si vous voulez sélectionner tous les <span> éléments qui sont cachés sous #p1, vous faites ceci:

$("span:hidden", "#p1"); 

Comme indiqué dans les commentaires, l'opposé de ce sélecteur est le sélecteur :visible:

$("span:visible", "#p1"); 

serait alors sélectionner les <span> visibles éléments de l'élément #p1.

+0

juste pour noter, le contraire existe également pour trouver des éléments visibles -: visible –

+0

Assez juste. Ajouté pour répondre. :) –

+2

Cela a apparemment changé. La documentation indique maintenant: "Element supposé caché si lui ou ses parents ne consomme pas d'espace dans le document.La visibilité CSS n'est pas prise en compte." – cweston

Questions connexes