Fungsi yang betul:
function addClass(element,value) {
if(!element.className) {
element.className = value;
} else {
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
Boleh ke menulis begini?
function addClass(element,value) {
if(!element.className) {
element.className = value;
} else {
newClassName += " ";
newClassName += value;
}
element.classList.add() adalah lebih mudah
Jika anda mahu serasi dengan IE10 atau ke bawah, maka saya tiada apa-apa untuk dikatakan
bersamaan dengan
Ada masalah keserasian
Setaraf dengan perkara di atas, menyelesaikan isu keserasian
Kaedah pembungkusan lain
Jawapannya pasti tidak mungkin
Apa yang perlu dilaksanakan ialah menambah kelas pada elemen dom Dalam cabang
else
, anda hanya mengendalikan rentetan Apakah gunanya tidak menetapkannya pada elemen dom pada akhirnya ? Untuk kelas tambahan berkuat kuasa, ia mesti diletakkan pada elemen domelse
分支里面,你只操作一个字符串,最后没有设给dom元素能有什么用呢? 添加的类要生效,肯定是必须要放到dom元素上去的另外你的正确写法也存在问题:
其实
Selain itu, terdapat juga masalah dengan penulisan anda yang betul: 🎜 🎜Malah, cawanganelse
lain
boleh dipermudahkan🎜 rrreeeTak boleh. Tujuan fungsi ini adalah untuk menambah kelas yang dipanggil
value
padaelement
Tiadaelement.className
dalamelse anda. code> >Bagaimana dengan tugasan?
newClassName
hanyalah pembolehubah, digunakan untuk menyimpanclass
yang sedia ada dan menambahclass
, masukkanvalue
baharu Selepaselement.className
, jadielement
加上一个叫value
的类,你else
里面根本没有对element.className
进行赋值怎么行,那个newClassName
只是个变量,用来保存现有class
,并加上value
这个新class
后,塞回element.className
,所以先有:
后有:
事实上,原函数有更优的写法,
Pertama: 🎜 🎜 diikuti oleh: 🎜 rrreee 🎜Malah, fungsi asal mempunyai cara penulisan yang lebih baik Tidak perlu mempunyai pembolehubah dalamelse
else
, hanya mengejanya secara terus: 🎜. rrreeeTidak, ia tidak berfungsi Selepas penyataan lain, newClass mesti ditetapkan terlebih dahulu sebelum operasi boleh ditetapkan semula elemen.className Jika ia dialih keluar, nampaknya tiada fungsi sedemikian
Saya cuma salah lihat...
Tak boleh