javascript - Bolehkah saya menggunakan setAttribute/removeAttribute untuk menambah atau memadam nama kelas?
过去多啦不再A梦
过去多啦不再A梦 2017-05-19 10:46:49
0
3
1037

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? ?

过去多啦不再A梦
过去多啦不再A梦

membalas semua(3)
我想大声告诉你

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

ele.className += ' clsName'; //添加类名
ele.className = ele.className.replace(/ ?deleteClsName/g,''); //删除类名
曾经蜡笔没有小新

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. . . .

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan