Wie kann ich Elemente mit einer Klasse mit getElementsByClassName auswählen und anklicken?

Lesezeit: 1 Minute

Benutzer-Avatar
Maximaler Port

Ich kann nicht alle Elemente anklicken.

document.getElementsByClassName('node closed')[0].click();

Dies funktioniert, klickt aber nur auf das erste Element. Ich brauche dies, um alle Elemente mit der Klasse ‘Knoten geschlossen’ anzuklicken.

Vielen Dank

Benutzer-Avatar
Harry

[0] bedeutet nur das erste Element der von zurückgegebenen Knotenliste getElementsByClassName.

Du musst getElementsByClassName und durchlaufen Sie alle übereinstimmenden Elemente wie unten gezeigt:

var el = document.getElementsByClassName('node closed');
for (var i=0;i<el.length; i++) {
    el[i].click();
}

Arbeitsdemo

  • Ich habe das versucht, aber ich bekomme nur den Fehler: TypeError: Object # has no method ‘click’

    – Maximaler Port

    13. September 2013 um 11:06 Uhr


  • Ja, sorry, ich wollte meinen Beitrag editieren. Die Klickmethode würde bei einer Knotenliste nicht funktionieren. Sie müssen alle Elemente durchlaufen, die von der Knotenliste zurückgegeben werden.

    – Harry

    13. September 2013 um 11:07 Uhr

  • Dies funktioniert, scheint aber nicht alle zu aktivieren. Gibt es eine Möglichkeit, dieses Onclick-Ereignis zu aktivieren?

    – Maximaler Port

    13. September 2013 um 11:17 Uhr

  • @MaxPort Überprüfen Sie dies Geige. Ich habe es an Ihre Struktur angepasst. Das onclick Funktion ist codiert, um die zu drucken id des Elements in das Konsolenprotokoll.

    – Harry

    13. September 2013 um 11:21 Uhr


iterieren Sie das Ergebnis in einer Schleife und weisen Sie jedem Element click zu:

var list=document.getElementsByClassName('node closed')
for(var i=0;i<list.length;i++){
list[i].click()
}

document.getElementsByClassName hat einige Probleme im IE

Verwenden Sie jquery

window.onload=function(){

$(.yourclass).each(function(){

 $(this).trigger('click');

});

}

einfach entfernen [0] und es greift auf alle übereinstimmenden Elemente als zu [0] zeigt nur auf das erste Element.

$(".node closed").filter(function() {
    return $(this).click();
});

1005950cookie-checkWie kann ich Elemente mit einer Klasse mit getElementsByClassName auswählen und anklicken?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy