Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Membuat document.getElementsByClassName Berfungsi dalam Internet Explorer?

Bagaimana untuk Membuat document.getElementsByClassName Berfungsi dalam Internet Explorer?

DDD
DDDasal
2024-11-06 00:45:02831semak imbas

How to Make document.getElementsByClassName Work in 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!

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