Rumah > Artikel > hujung hadapan web > Bagaimana untuk Membuat document.getElementsByClassName Berfungsi dalam Internet Explorer?
Keserasian document.getElementsByClassName dengan Internet Explorer
Kaedah document.getElementsByClassName menyediakan cara yang mudah untuk mendapatkan semula elemen dengan kelas tertentu. Walau bagaimanapun, ia menghadapi isu keserasian dengan Internet Explorer (IE).
Penyelesaian Jonathan Snook
Satu pendekatan biasa untuk menangani isu ini ialah menggunakan fungsi tersuai Jonathan Snook, getElementsByClassName . Fungsi ini menggunakan ungkapan biasa untuk mencari elemen dengan nama kelas yang diingini.
Walau bagaimanapun, IE mungkin masih menghadapi ralat dengan penyelesaian ini disebabkan seruan yang salah. Fungsi tersebut hendaklah digunakan seperti berikut:
function getElementsByClassName(node, classname) {...} tabs = getElementsByClassName(document.body, 'tab');
Sebaliknya:
document.getElementsByClassName(document.body, 'tab');
Pilihan Serasi Lain
Jika sokongan untuk IE8 dan ke atas adalah mencukupi, anda boleh melaksanakan polyfill berikut untuk document.getElementsByClassName:
if (!document.getElementsByClassName) { document.getElementsByClassName = function (className) { return this.querySelectorAll('.' + className); }; Element.prototype.getElementsByClassName = document.getElementsByClassName; } tabs = document.getElementsByClassName('tab');
Kesimpulan
Dengan melaraskan seruan fungsi Jonathan Snook atau menggunakan polyfill yang disediakan, anda boleh mengatasi masalah keserasian dengan document.getElementsByClassName dalam IE.
Atas ialah kandungan terperinci Bagaimana untuk Membuat document.getElementsByClassName Berfungsi dalam Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!