2010-08-16 5 views
0

je vis l'utilisation suivante du sélecteur jQuery:jQuery - quelle est la particularité de cette règle de sélection?

$('[value=""]', event.target).remove(); 

Je peux deviner le sens de cette déclaration est de supprimer la valeur d'option = « » du sélecteur event.target.

Le motif ressemble à $ (A, B). Quel type de règle de sélecteur est utilisé ici dans jQuery?

Merci

+0

Soit dit en passant, vous devriez éviter généralement l'attribut 'value' dans les sélecteurs d'attributs. Il doit sélectionner les éléments par le contenu de leur attribut 'value =" "' dans le document (la valeur initiale), et non par la propriété DOM Level 1 HTML '.value' (la valeur actuelle). Cependant, en raison de divers bogues, il * parfois * ne le fait pas dans jQuery, ce qui peut vous donner des problèmes de navigateur croisés étranges. – bobince

Répondre

3

Voir le documentation.

Ce code passe le paramètre context, ce qui signifie qu'il ne recherchera que les enfants du second paramètre.
C'est équivalent à $(event.target).find('[value=""]')

+1

Oui, et je l'écrirais typiquement avec la méthode 'find()' de préférence. C'est plus clair sur ce qui se passe. La fonction '$()' est déjà terriblement surchargée, évitons d'y coller plus de choses! – bobince

1

Cet extrait supprimera tous les éléments qui ont la valeur d'attribut vide, les descendants de l'élément event.target.

Exemple, en supprimant tous les liens sur la page d'inscription stackoverflow:

jQuery('a', jQuery('#question-mini-list')).remove() 
Questions connexes