2010-05-12 5 views
1

J'ai un div avec l'ID kGrowl et à l'intérieur de ce div j'ai une autre div qui a un élément select avec le nom = mover. J'essaie d'utiliser ce sélecteur:Utilisation de jQuery: contient le sélecteur

$('#kGrowl:contains([name=mover])').length 

Mais il est en train de retourner 0. En quoi mon sélecteur est-il erroné?

Merci.

Edit:

La réponse de Gabriel est mieux, mais j'ai aussi réalisé son l'attribut :has qui prendra un sélecteur jQuery, ne contient. Donc, vous pouvez faire:

$('#kGrowl:has([name=mover])').length 

Répondre

2

contient est la plupart du temps pour le contenu texte dans lequel un sélecteur valide ne fonctionne pas. Donc, si vous vouliez le faire comme vous le montrez:

$ ('# kGrowl: contains ("name = mover")'). Longueur mais vous voulez vraiment le nombre d'éléments sélectionnés utiliserait:

$("#kGrowl div select[name='mover']").length 

acclamations.

+0

Aussi je viens de réaliser son ': has' qui prend un vrai sélecteur jQuery. Lol. – Alex

+0

@Alex word ... J'essayais de me rappeler lequel c'était aussi. – Gabriel

0

Essayez ceci:

$('#kGrowl[name=mover]'); 

Edit: pour les éléments avec name = moteur intérieur kGrowl:

$('#kGrowl div[name=mover]'); //note the space 

Vérifiez également cette page pour plus d'informations sur sélecteurs http://api.jquery.com/category/selectors/

1

Je ne suis pas familier ar avec :contains, mais peut-être vous devriez essayer:

$('#kGrowl *[name=mover]').length 
0

essayez ceci:

$("#kGrowl:contains('[name=mover]')").length