Rumah  >  Artikel  >  hujung hadapan web  >  Syorkan kemahiran method_javascript getElementsByClassName terkapsul

Syorkan kemahiran method_javascript getElementsByClassName terkapsul

WBOY
WBOYasal
2016-05-16 16:29:261159semak imbas

Kami tahu bahawa JS asli memberikan kami kaedah getElementsByClassName, yang melaluinya kami boleh mendapatkan koleksi nod yang mengandungi kelas tertentu Ambil perhatian bahawa ia adalah koleksi, iaitu, fungsi ini mengembalikan tatasusunan.

Namun, IE tidak menyokong kaedah ini, tetapi kaedah ini sangat praktikal, jadi kami perlu melaksanakan fungsi sedemikian khusus untuk IE.

Salin kod Kod adalah seperti berikut:

fungsi getElementsByClassName(oEle,sClass,sEle){
if(oEle.getElementsByClassName){
Kembalikan oEle.getElementsByClassName(sClass);
}lain{
var aEle=oEle.getElementsByTagName(sEle || '*'),
reg=new RegExp('(^|\s)' sClass '($|\s)'),
arr=[],
i=0,
iLen=aEle.length;

untuk(; i If(reg.test(aEle[i].className)){
arr.push(aEle[i]);
}
}
Kembali arr;
}
}

Cara menggunakan:

Salin kod Kod adalah seperti berikut:

//Kaedah pertama: pilih semua elemen div dengan box_box kelas di bawah dokumen
getElementsByClassName(dokumen,'box_box','div')[0].style.background='kuning';

//Pilihan kedua: Pilih semua elemen div dengan kotak kotak kelas di bawah dokumen
getElementsByClassName(dokumen,'kotak-kotak','div')[0].style.background='kuning';

//Kaedah ketiga: pilih semua kelas di bawah dokumen sebagai elemen kotak-kotak
getElementsByClassName(dokumen,'kotak-kotak')[0].style.background='kuning';

oEle dan sClass diperlukan, sEle adalah pilihan.

Tiada masalah dengan garisan mendatar atau garis bawah dalam sClass, contohnya: box-box box_box tetapi jika ia adalah watak istimewa lain, mungkin terdapat masalah, seperti: box$box... Sudah tentu, anda boleh tambahkannya sendiri Sesuaikan aksara khas, seperti: box\$box…

Keserasian: Ujian peribadi ie6

Kawan-kawan, anda akan tahu selepas menggunakannya sendiri. Ia sangat mudah untuk digunakan.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn