Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menyelesaikan Ketidakserasian getElementsByClassName() dalam IE6-8?

Bagaimana untuk Menyelesaikan Ketidakserasian getElementsByClassName() dalam IE6-8?

DDD
DDDasal
2024-10-22 07:34:02680semak imbas

How to Resolve getElementsByClassName() Incompatibility in IE6-8?

Ketidakserasian IE6-8 dengan Kaedah getElementsByClassName()

Apabila cuba menggunakan getElementsByClassName() untuk memilih elemen mengikut nama kelasnya dalam Internet Explorer 6, 7 atau 8 , anda mungkin menghadapi mesej ralat "Objek tidak menyokong kaedah ini." Ini kerana penyemak imbas lama ini tidak mempunyai sokongan terbina dalam untuk kaedah DOM moden ini.

Mengatasi Isu Keserasian

Untuk mengatasi pengehadan ini dan membolehkan pemilihan berasaskan kelas dalam penyemak imbas ini, pertimbangkan untuk melaksanakan penyelesaian tersuai. Coretan di bawah menyediakan fungsi JavaScript yang mereplikasi fungsi getElementsByClassName():

document.getElementsByClassName = function(cl) {
  var retnode = [];
  var elem = this.getElementsByTagName('*');
  for (var i = 0; i < elem.length; i++) {
    if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]);
  }
  return retnode;
};

Selepas menambahkan kod ini pada halaman web anda, anda boleh menggunakan document.getElementsByClassName() seperti biasa untuk mendapatkan semula elemen mengikut kelas mereka nama dalam IE6, IE7 dan IE8.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ketidakserasian getElementsByClassName() dalam IE6-8?. 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