Effekive Schreibweise querySelectorAll

wenco

Erfahrenes Mitglied
Hallo,
ich habe eine ganz simple JS-Funktion (die auch funktioniert), von der ich aber dachte, dass ich sie effektiver schreiben könnte. Ich suche alle Links mit einem bestimmten innerHTML-Wert (abc), kann ich das nicht gleich so abfragen? (Bei mir funktioniert es jedenfalls nicht):

Code:
var test = document.querySelectorAll('a.klasse').innerHTML== 'abc';
for(var a = 0; a < test.length; a++) {
    [tue was]
}

Code:
// mein Funktioninhalt
var test = document.querySelectorAll('a.klasse');
for(var a = 0; a < test.length; a++) {
    test2 = test [a].innerHTML;
    if(test2 == 'abc'){
        [tue was]
    }
}
 
Zuletzt bearbeitet:
Hi,

eine Zuweisung in der Form ist nicht möglich, da querySelectorAll eine sogenannte NodeList zurück gibt. Hier musst du die einzelnen Elemente ansprechen und modifizieren.

Eine Möglichkeit, das von dir Gewünschte umzusetzen, ist die Methode forEach. Da diese jedoch nur auf Arrays angewendet werden kann, muss die NodeList noch konvertiert werden.

Ansatz:
Javascript:
Array.prototype.slice.call(document.querySelectorAll('a.klasse'), 0).forEach(function (elem) {
    if(elem.innerHTML === 'abc'){
        [tue was]
    }
});

Ciao
Quaese
 

Neue Beiträge

Zurück