Membincangkan pengendalian nama kelas dalam js asli dalam kumpulan, seseorang mencadangkan kaedah setAttribute dan removeAttribute boleh digunakan untuk mengendalikan nama kelas saya berasa sangat hairan: Saya fikir hanya terdapat classList.add() atau classList.remove (). Terdapat beberapa cara untuk menyelesaikan keperluan ini, tetapi seseorang telah mencadangkan menggunakan setAttribute('class', 'xxx') dan removeAttribute('class'). Perasaan pertama ialah ia terhad dan tidak selamat: pertama, nama kelas hanya boleh ditukar kepada hasil yang ditentukan, dan kedua, kaedah memadam atribut kelas tidak pernah dilihat sebelum ini. Saya ingin bertanya sama ada pendekatan ini boleh dilaksanakan dalam pengendalian nama kelas? ?
Malah, jika anda hanya mahu mengendalikan menambah dan memadam kelas, anda juga boleh memilih untuk menggunakan className untuk melakukannya, yang juga boleh mengelakkan masalah keserasian dengan classList.
Anda boleh memilih untuk merangkum sendiri dua kaedah penambahan dan pemadaman.
Kod pelaksanaan adalah seperti berikut
Versi pelayar
removeAttribute
是用来删除指定属性的,class
也是属性,自然可以删除。classList
是 HTML5 的 API,如果只能用它来添加删除,你让不支持classList
sangat memalukan. Di samping itu, anda akan tahu jika anda mencuba masalah seperti ini.Kenapa tidak addClass....
setAttribute mengubah suai atribut keseluruhan kelas Jika anda ingin menggunakannya untuk menangani kelas, anda masih perlu membuat pertimbangan
.class="test1 test2 test3"; Dalam kes ini, jika anda ingin menetapkanAttribute, anda perlu terlebih dahulu menentukan sama ada nilai anda wujud Jika ia tidak wujud, ia tidak akan ditambah diproses. Untuk mengalih keluar, anda perlu menentukan sama ada ia wujud Jika ia tidak wujud, ia tidak akan diproses Jika ia wujud, anda tidak boleh memadamkan yang lain. . . .