Heim >Web-Frontend >js-Tutorial >Wie schalte ich mit JavaScript die Sichtbarkeit mehrerer HTML-Elemente nach Klassennamen um?

Wie schalte ich mit JavaScript die Sichtbarkeit mehrerer HTML-Elemente nach Klassennamen um?

Barbara Streisand
Barbara StreisandOriginal
2024-11-14 18:06:021015Durchsuche

How to Toggle the Visibility of Multiple HTML Elements by Class Name with JavaScript?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn