TagName in ClassName
Linuchs
- javascript
Hallo,
per Javascript markiere ich <li> Elemente, die einen gesuchten Text-Inhalt (wort) haben:
var li = document.getElementsByTagName( 'li' );
...
for ( i=0; i<li.length; i++ )
{
document.getElementsByTagName( 'li' )[i].style.border = "none";
if ( li[i].innerHTML.toLowerCase().indexOf( wort ) > (-1) )
{
document.getElementsByTagName( 'li' )[i].style.border = "1px solid #f00";
}
}
Das funktioniert prächtig. Allerdings auch dort im Dokument, wo ich es nicht möchte. Also habe ich um den gewünschten Bereich einen Zaun gezogen:
<div class=aussteller>
...
</div>
Eigentlich müsste ich die li's innerhalb des Zaunes doch erwischen mit
var lis = document.getElementsByClassName('aussteller')[0];
var li = lis.getElementsByTagName( 'li' );
Doch dann kommt die Fehlermeldung bei der Opera "Uncaught exception: TypeError: Cannot convert 'lis' to object var li = lis.getElementsByTagName( 'li' );"
Wieso ist lis kein Objekt?
Linuchs
Tach!
Wieso ist lis kein Objekt?
Moderne Browser haben Debugwerkzeuge an Bord. Breakpoint setzen und nachschauen ist die erste Maßnahme, um sich zu informieren, was wirklich ist. console.log(lis) zu verwenden wäre eine Alternative.
dedlfix.
Wieso ist lis kein Objekt?
Moderne Browser haben Debugwerkzeuge an Bord. Breakpoint setzen und nachschauen ist die erste Maßnahme, um sich zu informieren, was wirklich ist. console.log(lis) zu verwenden wäre eine Alternative.
Wenn javasript-Zeilen ausgeführt werden, müssen die Objekte vorher definiert sein. Ich hatte sie weiter unten eingerichtet.
Linuchs