jQuery: Si cette HREF contient
Pourquoi ne puis-je pas obtenir que cela fonctionne??
$("a").each(function() {
if ($(this[href$="?"]).length()) {
alert("Contains questionmark");
}
});
Ps.: C'est juste à simplifyed exemple, pour le rendre plus facile pour vous d'obtenir une vue d'ensemble.
- $("a").each(function() { console.debug($(this[href$="?"]);if ($(this[href$="?"]).longueur()) { alert("Contient questionmark"); } });
Vous devez vous connecter pour publier un commentaire.
Vous pourriez juste carrément sélectionner les éléments d'intérêt.
http://jsfiddle.net/mattball/TzUN3/
Remarque que vous étiez à l'aide de la
attribut-fin-avec
sélecteur, le code ci-dessus utilise leattribut contient
sélecteur, qui est ce qu'il sonne comme vous êtes en train de viser.?
peut avoir une signification spéciale dans une regexp. Découvrez jsfiddle.net/mattball/GYDQcthis.href
au lieu de la inutile de recourir à jQuery. C'est pas vraiment correcte, que la question de départ, semblait vouloir trouver un "?" à la fin de la "href" de la valeur (ce qui serait compréhensible chose à faire).Il ne fonctionne pas parce que c'est absurde du point de vue syntaxique. Vous simplement ne pouvez pas le faire en JavaScript comme ça.
Vous pouvez, cependant, utiliser jQuery:
Vous pouvez aussi regarder le "href" valeur:
Avec les observations faites par d'autres, la
$=
sélecteur est la "se termine avec" sélecteur. Vous voulez que le*=
(contient) sélecteur, comme suit:Voici une démo en live ->
Comme l'a noté Matt Balle, sauf si vous devez manipuler des liens sans un point d'interrogation (qui peut être le cas, puisque vous dites que votre exemple est simplifié), il serait moins de code et beaucoup plus rapide de simplement sélectionner uniquement les liens que vous souhaitez commencer avec:
utiliser cette
Essayez ceci:
<a>
tag c'est un descendant de la<a>
dans l' ".chacun()" contexte.