Cliquez sur la balise d'ancrage avec le texte

Comment cliquer sur une balise d'ancrage avec un texte spécifique? Par exemple, j'ai les ancres suivantes dans ma page

one
two
three

Maintenant, l'utilisateur entre un. Comment puis-je cliquer sur la balise dont le texte est un? J'ai essayé ceci:

var uservar='one';
$('a [text=$uservar]').click();

Mais ça ne marche pas. quelqu'un peut-il aider s'il vous plait?

0
@VigneswaranMarimuthu: Oui, il y a ..
ajouté l'auteur Syed Qarib, source
Vous pouvez utiliser : contient mais cela n'utilise pas la correspondance exacte.
ajouté l'auteur Shaunak D, source
vous pouvez ajouter un identifiant à vos ancres
ajouté l'auteur Burki, source
Je ne pense pas qu'il y ait un sélecteur qui vérifie son contenu textuel.
ajouté l'auteur Vigneswaran Marimuthu, source
@SyedQarib Je ne l'ai pas su. Merci :)
ajouté l'auteur Vigneswaran Marimuthu, source

7 Réponses

Vous pouvez utiliser filter() ,

var uservar='one';
$('a').filter(function(){
    return this.text === uservar
}).click();

:contains can also be used, but does not use exact match method.

Fiddle

4
ajouté
Celui-ci fonctionne aussi. Merci Shaunak.
ajouté l'auteur Tania, source
@Tania Heureux de vous aider.
ajouté l'auteur Shaunak D, source

Oui, cela peut être fait.

Pour sélectionner la balise d'ancrage, vous pouvez utiliser le sélecteur jQuery contient . Exemple ci-dessous:

var uservar = 'one';

$( "a:contains('" + uservar + "')" ).trigger('click');
3
ajouté

Utilisez : includes() :

<div class="snippet" data-lang="js" data-hide="false"> <div class="snippet-code">

$("a:contains('one')").click(function() { alert("One clicked"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
one
two
three
</div> </div>
1
ajouté

Essaye ça:

$( "a:contains('One')" ).trigger('click');
1
ajouté

Il existe un sélecteur de contenu qui vérifie si un élément contient un certain texte. Cela semble être ce que vous voulez

Par exemple: $ ("a: contient ($ uservar)")

See the documentation for more usages of it: https://api.jquery.com/contains-selector/

1
ajouté

Essaye ça.

HTML

One
Two
Three

Scénario


    $("[data-id = 'One']").click(function (e) {            
        alert('Click event fired');
    });

0
ajouté
Donnez le même texte à l'intérieur de la balise d'ancrage en tant que data-id.
ajouté l'auteur Issac Johnson, source

Vous pouvez utiliser Id pour la balise d'ancrage comme

  one
  two
  three

  var uservar='one';
  $('#'+uservar).click();
0
ajouté