Javascript überprüfen ob div-Element enthält ein Wort?
Wie kann ich prüfen, ob ein div-Element enthält ein bestimmtes Wort?
var divs= document.getElementsByTagName('div');
for (var i = 0, len = divs.length; i < len; ++i) {
if (divs[i].text = '*word*'){
//do somthing
}
}
nicht funktioniert.
InformationsquelleAutor der Frage | 2012-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden Sie die indexOf Funktion
InformationsquelleAutor der Antwort Igor Azevedo
Verwenden
includes()
:InformationsquelleAutor der Antwort Scott Simpson
InformationsquelleAutor der Antwort Nimmi
Versuchen die
- String.indexOf()
Funktion:if (divs[i].text.indexOf('word') != -1) {
InformationsquelleAutor der Antwort Adam Rofer
Müssen Sie einen Vergleichsoperator verwenden, die nicht einer Variablen zuweisen.
Ich würde empfehlen
indexOf
.InformationsquelleAutor der Antwort MacMac
Zusätzlich zu dem, was andere gesagt haben, über die Verwendung
.indexOf()
Funktion, möchte ich sagen.text
ist nicht ein div-Knoten-Eigenschaft. Benutzer.innerHTML
InformationsquelleAutor der Antwort Nick Rolando
Donnerwetter, so viele Antworten!
Bekommen, nur der text eines Elements-der einfache Weg ist die Verwendung textContentoder, wo dies nicht unterstützt, innerText. Alle Browser im Einsatz unterstützen die eine oder andere (vielleicht auch beides). Sie können auch einen regulären Ausdruck verwenden (indexOf funktioniert auch, eine RegExp ist nur eine option) also:
Eine robustere Lösung wäre wie:
InformationsquelleAutor der Antwort RobG
verwenden Sie regexp:
@RobG erinnern mich so
=3=
InformationsquelleAutor der Antwort Torrent Lee