Heim > Web-Frontend > HTML-Tutorial > HTML-DOM-classList-Attribut

HTML-DOM-classList-Attribut

高洛峰
Freigeben: 2017-02-15 13:44:16
Original
2177 Leute haben es durchsucht

Jeder Knoten im Seiten-DOM verfügt über ein classList-Objekt. Programmierer können die darin enthaltenen Methoden verwenden, um CSS-Klassen auf dem Knoten hinzuzufügen, zu löschen und zu ändern. Mithilfe von classList können Programmierer außerdem feststellen, ob einem bestimmten Knoten eine bestimmte CSS-Klasse zugewiesen ist.

Klasse hinzufügen (hinzufügen)

document.getElementById("myp").classList.add("mystyle");
Nach dem Login kopieren

Mehrere Klassen zum

-Element hinzufügen:

document.getElementById("myp").classList.add("mystyle", "anotherClass", "thirdClass");
Nach dem Login kopieren

Klasse entfernen (entfernen)

Mit der Remove-Methode können Sie eine einzelne CSS-Klasse löschen:

document.getElementById("myp").classList.remove("mystyle");
Nach dem Login kopieren

Mehrere Klassen entfernen:

document.getElementById("myp").classList.remove("mystyle", "anotherClass", "thirdClass");
Nach dem Login kopieren

Klassen umschalten (toggle)

Diese Methode Die Die Funktion besteht darin, dass das myp-Element diese CSS-Klasse hinzufügt, wenn es diese CSS-Klasse nicht hat. Wenn das myp-Element diese CSS-Klasse bereits hat, wird sie gelöscht. Es handelt sich um eine Umkehroperation.

document.getElementById("myp").classList.toggle("newClassName");

myp.classList.toggle('myCssClass'); //现在是增加
myp.classList.toggle('myCssClass'); //现在是删除
Nach dem Login kopieren

Ob es eine Klasse gibt (enthält)

Überprüfen Sie, ob sie eine CSS-Klasse enthält:

var x = document.getElementById("myp").classList.contains("mystyle");
Nach dem Login kopieren

Das Ergebnis ist wahr oder falsch.

Längenattribut

gibt die Anzahl der Klassen in der Klassenliste zurück.
Zeigen Sie an, wie viele Klassennamen das

-Element hat:

var x = document.getElementById("myp").classList.length; //3
Nach dem Login kopieren

Alle Klassennamen des

-Elements abrufen:

<p id="myp" class="mystyle anotherClass thirdClass">I am a p element</p>

var x = document.getElementById("myp").classList;
Nach dem Login kopieren

item(index)

Gibt den Indexwert des Klassennamens im Element zurück. Indexwerte beginnen bei 0. Wenn der Indexwert außerhalb des Bereichs liegt, wird null zurückgegeben.
Ruft den ersten Klassennamen des

-Elements ab (Index ist 0):

var x = document.getElementById("myp").classList.item(0); //mystyle
Nach dem Login kopieren

Browser unterstützt

HTML DOM classList 属性
IE9 und frühere Versionen von IE9 unterstützen dieses Attribut jedoch nicht. Der folgende Code kann dieses Bedauern ausgleichen: (aus dem Netizen-Code)

if (!("classList" in document.documentElement)) {  
        Object.defineProperty(HTMLElement.prototype, 'classList', {  
            get: function() {  
                var self = this;  
                function update(fn) {  
                    return function(value) {  
                        var classes = self.className.split(/\s+/g),  
                            index = classes.indexOf(value);  
                          
                        fn(classes, index, value);  
                        self.className = classes.join(" ");  
                    }  
                }  
                  
                return {                      
                    add: update(function(classes, index, value) {  
                        if (!~index) classes.push(value);  
                    }),  
                      
                    remove: update(function(classes, index) {  
                        if (~index) classes.splice(index, 1);  
                    }),  
                      
                    toggle: update(function(classes, index, value) {  
                        if (~index)  
                            classes.splice(index, 1);  
                        else  
                            classes.push(value);  
                    }),  
                      
                    contains: function(value) {  
                        return !!~self.className.split(/\s+/g).indexOf(value);  
                    },  
                      
                    item: function(i) {  
                        return self.className.split(/\s+/g)[i] || null;  
                    }  
                };  
            }  
        });  
    }
Nach dem Login kopieren

Weitere Artikel zum Thema HTML-DOM-Klassenlistenattribut, bitte achten Sie auf die chinesische PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage