Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mendapatkan Elemen mengikut Nama Kelas dalam Internet Explorer?

Bagaimana untuk Mendapatkan Elemen mengikut Nama Kelas dalam Internet Explorer?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-06 00:48:02880semak imbas

How to Retrieve Elements by Class Name in Internet Explorer?

getElementsByClassName() Keserasian dengan IE

Soalan: Cara mendapatkan semula susunan elemen dengan kelas tertentu dengan berkesan , mempertimbangkan pengehadan keserasian IE?

Jawapan:

Document.getElementsByClassName() ialah kaedah moden yang tidak disokong oleh IE. Sebaliknya, pertimbangkan pendekatan berikut:

Fungsi Tersuai (IE6 ):

Tentukan fungsi tersuai untuk meniru getElementsByClassName(). Ini melibatkan merentasi DOM dan menguji nama kelas elemen terhadap nama kelas yang disediakan:

<code class="js">function getElementsByClassName(node, className) {
    var a = [];
    var re = new RegExp('(^| )' + className + '( |$)');
    var els = node.getElementsByTagName('*');
    for (var i = 0, j = els.length; i < j; i++)
        if (re.test(els[i].className)) a.push(els[i]);
    return a;
}

// Usage:
var tabs = getElementsByClassName(document.body, 'tab');</code>

querySelectorAll (IE8 ):

Jika menyokong IE8 atau ke atas adalah mencukupi , lanjutkan dokumen dan objek Element untuk menyokong querySelectorAll():

<code class="js">if (!document.getElementsByClassName) {
    document.getElementsByClassName = function (className) {
        return this.querySelectorAll('.' + className);
    };
    Element.prototype.getElementsByClassName = document.getElementsByClassName;
}

// Usage:
var tabs = document.getElementsByClassName('tab');</code>

Pastikan anda memanggil getElementsByClassName() dengan nod yang dikehendaki sebagai hujah pertama, kerana ia bukan kaedah dokumen. Dengan melaksanakan salah satu daripada penyelesaian ini, anda boleh mendapatkan semula elemen mengikut nama kelas, memastikan keserasian dengan julat penyemak imbas yang lebih luas, termasuk IE.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Elemen mengikut Nama Kelas 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