10
votes

JQuery: Comment puis-je vérifier si un attribut d'élément contient une partie d'une chaîne?

Comme, je veux vérifier si un lien possède un certain domaine, ou a déjà des paramètres attachés à la fin.

existe une façon de faire une chose de regex comme ~ = peut-être? Actuellement, j'ai xxx

mais le sélecteur ne fonctionne pas. (Je ne vois jamais le hello alerte, mais je semine l'alerte alerte alerte.

Mes tags xxx


1 commentaires

Mise à jour de ma réponse en fonction de votre mise à jour de code. Le sélecteur fonctionne pour mon code - peut-être qu'il y a un autre problème?


3 Réponses :


15
votes

Utilisez le Substring / contient Sélecteur:

$ (sélecteur [nom * = 'mystring'] ")

trouve l'attribut nom = "somemystring"

Si vous recherchez le mot entier, délimité par des espaces, utilisez ensuite le Sélecteur de mots entier :

$ (sélecteur [nom ~ = 'mystring'] ")

trouve l'attribut nom = "Certains mystrings sont bons"

edit J'ai pris votre code d'en haut et j'ai créé un jsfiddle pour ce. Je vois la pop-up d'alerte "Bonjour". (Je n'ai pas fait une alerte pour l'alerte (ref) , car je ne savais pas ce que ref était.) Pour que le sélecteur fonctionne pour votre href attributs. Vous alisez jQuery différent de la normale (normale = $ , vous utilisez $ j ). Avez-vous enregistré cet alias correctement? Si vous utilisez $ ou jQuery . Votre code fonctionne-t-il alors?


1 commentaires

Presque, je vais mettre à jour ma question pour vous montrer ce que j'ai jusqu'à présent. Je n'arrive pas à le faire marcher.



2
votes

Vous pouvez utiliser L'attribut contient le sélecteur ( * = < / Code>), comme ceci: xxx

Il y a Autres sélecteurs d'attributs disponibles également.


0 commentaires

1
votes

Si le lien est code> et que vous souhaitez dire si le lien contient myparam Code> Utilisez jQuery / JavaScript:

/myparam/.test($("#link").attr('href'))


0 commentaires