46 votes

jQuery : si ce HREF contient

Pourquoi est-ce que je ne peux pas faire fonctionner ça ??

 $("a").each(function() {
    if ($(this[href$="?"]).length()) {
        alert("Contains questionmark");
    }
});

Ps. : Il ne s'agit que d'un exemple simplifié, pour vous permettre d'avoir plus facilement une vue d'ensemble.

20voto

$("a").each(function() {
    if (this.href.indexOf('?') != -1) {
        alert("Contains questionmark");
    }
});

4voto

Amir Ismail Points 3095

utilisez ceci

 $("a").each(function () {
    var href=$(this).prop('href');
    if (href.indexOf('?') > -1) {
        alert("Contains questionmark");
    }
});

3voto

Pointy Points 172438

Cela ne fonctionne pas parce que c'est syntaxiquement absurde. Vous ne pouvez tout simplement pas faire cela en JavaScript comme ça.

Vous pouvez cependant utiliser jQuery :

   if ($(this).is('[href$=?]'))

Vous pouvez également simplement regarder la valeur "href":

   if (/\?$/.test(this.href))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X