Je suis après la documentation sur l'utilisation de caractères génériques ou d'expressions régulières (je ne suis pas sûr de la terminologie exacte) avec un sélecteur jQuery.
J'ai moi-même cherché cela, mais je n'ai pas pu trouver d'informations sur la syntaxe et comment l'utiliser. Quelqu'un sait-il où se trouve la documentation de la syntaxe?
EDIT: les filtres d'attribut vous permettent de sélectionner en fonction des modèles d'une valeur d'attribut.
javascript
jquery
regex
jquery-selectors
Joel Cunningham
la source
la source
matchParams.join('')
parmatchParams.join(',')
), et tout modèle qui correspond'undefined'
ou'null'
correspondraundefined
etnull
, respectivement. Ce deuxième bogue peut être résolu en vérifiant que la valeur testée!== undefined
et d'!== null
abord. Quoi qu'il en soit, passer une fonction.filter()
est plus facile et me semble plus propre / plus lisible.Vous pouvez utiliser la
filter
fonction pour appliquer une correspondance regex plus compliquée.Voici un exemple qui correspondrait simplement aux trois premières divisions:
la source
Ces informations peuvent être utiles.
Si vous trouvez par Contient, ce sera comme ça
Si vous trouvez par Commence par alors ce sera comme ça
Si vous trouvez par Ends With alors ce sera comme ça
Si vous souhaitez sélectionner des éléments dont l' id n'est pas une chaîne donnée
Si vous souhaitez sélectionner des éléments dont le nom contient un mot donné, délimité par des espaces
Si vous souhaitez sélectionner des éléments dont l' id est égal à une chaîne donnée ou en commençant par cette chaîne suivie d'un trait d'union
la source
id
s, étant des identifiants, ne peut pas contenir d'espace , l'~=
exemple doit être changé en quelque chose d'autre, commeclass
, qui est une liste d'identifiants délimitée par des espaces blancs. Des choses commeclass
ce à quoi le~=
sélecteur d'attribut était destiné.Si votre utilisation de l'expression régulière se limite à tester si un attribut commence par une certaine chaîne, vous pouvez utiliser le
^
sélecteur JQuery.Par exemple, si vous souhaitez uniquement sélectionner div avec id commençant par "abc", vous pouvez utiliser:
Un grand nombre de sélecteurs très utiles pour éviter l'utilisation de l'expression régulière peuvent être trouvés ici: http://api.jquery.com/category/selectors/attribute-selectors/
la source
*=
comme ceci:$("input[id*='__destroy'][value='true']")
Voici!
la source
Ajoutez une fonction jQuery,
Alors,
sélectionnera tous les éléments span avec des correspondances de texte / Sent /.
sélectionnera tous les éléments span avec leurs classes correspondant à /tooltip.year/.
la source
les identifiants et les classes sont toujours des attributs, vous pouvez donc leur appliquer un filtre d'attributs d'expression régulière si vous les sélectionnez en conséquence. En savoir plus ici: http://rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx
la source
la source
Je donne juste mon exemple en temps réel:
En javascript natif, j'ai utilisé l'extrait suivant pour trouver les éléments avec des identifiants commençant par "select2-qownerName_select-result".
document.querySelectorAll("[id^='select2-qownerName_select-result']");
Lorsque nous sommes passés de javascript à jQuery, nous avons remplacé l'extrait ci-dessus par ce qui suit, ce qui implique moins de changements de code sans perturber la logique.
$("[id^='select2-qownerName_select-result']")
la source
Si vous souhaitez simplement sélectionner des éléments qui contiennent une chaîne donnée, vous pouvez utiliser le sélecteur suivant:
$(':contains("search string")')
la source