Heim >Web-Frontend >js-Tutorial >Wie schalte ich mit JavaScript die Sichtbarkeit mehrerer HTML-Elemente nach Klassennamen um?
So schalten Sie die Sichtbarkeit von HTML-Elementen nach Klassennamen mit JavaScript um
Sie möchten die Sichtbarkeit bestimmter DIVs auf einer Webseite dynamisch steuern. Das aktuelle JavaScript-Skript basiert jedoch auf getElementById, was nicht geeignet ist, da Ihre DIVs durch Klassennamen und nicht durch IDs identifiziert werden.
Um diese Herausforderung zu meistern, können Sie die Methode getElementsByClassName verwenden, die von modernen Browsern unterstützt wird . Hier ist eine umfassende Lösung:
function getElementsByClassName(node, className) { if (node.getElementsByClassName) { // Native implementation available return node.getElementsByClassName(className); } else { // Use fallback method return (function getElementsByClass(searchClass, node) { if (!node) node = document; var classElements = [], els = node.getElementsByTagName("*"), pattern = new RegExp("(^|\s)" + searchClass + "(\s|$)"); for (var i = 0, j = 0; i < els.length; i++) { if (pattern.test(els[i].className)) { classElements[j] = els[i]; j++; } } return classElements; })(className, node); } }
Jetzt können Sie Ihr Umschaltskript so ändern, dass es getElementsByClassName verwendet:
function toggleVisibility(className) { var elements = getElementsByClassName(document, className), n = elements.length; for (var i = 0; i < n; i++) { var e = elements[i]; if (e.style.display == 'block') { e.style.display = 'none'; } else { e.style.display = 'block'; } } }
Mit diesem aktualisierten Skript können Sie die Sichtbarkeit mehrerer DIVs nahtlos umschalten Gleicher Klassenname.
Das obige ist der detaillierte Inhalt vonWie schalte ich mit JavaScript die Sichtbarkeit mehrerer HTML-Elemente nach Klassennamen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!