javascript getElementsByClassName() gibt immer keiner?
hey Leute,
ich will erstellen Sie die einfachste bookmarklet für den browser.
javascript:document.getElementsByClassName('source').style.visibility='visible';
Ich habe mehrere div.Quelle in meinen Körper. Standardmäßig werden Sie .source { display:none; }
mit css.
Meine Konsole sagt mir: Uncaught TypeError: Cannot set property 'display' of undefined
Wenn ich auf das bookmarklet alle .Quelle divs sichtbar sein sollte. Was mache ich hier falsch?
- versuchen Sie für each-Schleife
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie möglicherweise eine Schleife durch die Ergebnisse, wie diese:
Und auch als @ionoy erwähnt, verwenden
display
Attribut. Ich hoffe, das hilft.http://jsfiddle.net/erick/rb7bn/1/
forEach
ist ein wenig sauberer, vielleicht.document.getElementsByClassName('source').forEach(function (elem) {elem.style.display = 'block'})
(odernone
wenn es darum geht zu alle diejenigen danged ärgerlich, animierte Urlaub Schneeflocken blogs sind Sport-jetzt)Es ist die 'Sichtbarkeit' und es ist "anzeigen". Sie sind ganz andere Tiere.
W3Schools:
Sichtbarkeit
anzeigen
Uncaught TypeError: Cannot set property 'display' of undefined
Gehen für
display
. Es funktioniert mit vielen Browsern und in vielen Fällen.