web-dev-qa-db-fra.com

Javascript Cliquez sur l'élément par classe

J'écris donc un script qui peut être exécuté sur une page, mais je veux cliquer sur cet élément. Malheureusement, il n'a pas de id à obtenir et j'essaie d'utiliser la fonction .click(), mais cela ne fonctionne pas. , voici ce que j'ai, quelqu'un sait comment le réparer? Ceci est le seul élément de la classe également

var classes = document.getElementsByClassName('rateRecipe btns-one-small');
var Rate = classes[0];
Rate.click();
12
Cup of Java

Je suggérerais:

document.querySelector('.rateRecipe.btns-one-small').click();

Le code ci-dessus suppose que l'élément donné a les deux de ces classes; sinon, si l'espace est censé impliquer une relation ancêtre-descendant:

document.querySelector('.rateRecipe .btns-one-small').click();

La méthode getElementsByClassName() prend un nom de classe unique (plutôt que document.querySelector()/document.querySelectorAll(), qui prend un sélecteur CSS), et vous en avez transmis deux (vraisemblablement des noms de classe) à la méthode.

Références:

29
David Thomas

Si vous souhaitez cliquer sur tous les éléments sélectionnés par une classe, vous pouvez utiliser cet exemple (utilisé sur last.fm sur la page Loved tracks pour supprimer tous les éléments).

var divs = document.querySelectorAll('.love-button.love-button--loved'); 

for (i = 0; i < divs.length; ++i) {
  divs[i].click();
};

Avec ES6 et Babel (ne peut pas être exécuté directement dans la console du navigateur)

[...document.querySelectorAll('.love-button.love-button--loved')]
   .forEach(div => { div.click(); })
6
Oleg Abrazhaev

la classe de mon bouton est "input-addon btn btn-default fileinput-existe"

ci-dessous le code m'a aidé 

document.querySelector('.input-addon.btn.btn-default.fileinput-exists').click();

mais je veux cliquer sur le deuxième bouton, j'ai deux boutons sur mon écran et j'ai donc utilisé querySelectorAll

var elem = document.querySelectorAll('.input-addon.btn.btn-default.fileinput-exists');
                elem[1].click();

ici, elem [1] est le deuxième objet de bouton sur lequel je veux cliquer.

0
asifaftab87