Penyelesaian kepada masalah bahawa pelayar IE tidak menyokong kemahiran getElementsByClassName_javascript

WBOY
Lepaskan: 2016-05-16 16:38:24
asal
1210 orang telah melayarinya

Kaedah getElementsByClassName telah ditambahkan pada DOM3, tetapi ia tidak disokong oleh versi lain kecuali IE9 dan 10. Ini menyakitkan!
Penyelesaian semasa adalah untuk menentukan sama ada penyemak imbas menyokong kaedah ini. Jika ia menyokongnya, biarkan sahaja jika ia tidak menyokongnya, tambahkan kaedah getElementsByClassName pada objek dokumen ini perlu pergi ke sana tanpa mengira sama ada terdapat fungsi asli atau tidak.

Sesetengah orang di Internet mentakrifkan secara langsung fungsi getElementsByClassName, tetapi dalam kes ini, semua penggunaan document.getElementsByClassName dalam kod perlu ditulis semula ke getElementsByClassName. Ia agak menyusahkan dan tidak universal.

Kaedah berikut menyokong penulisan dokumen dengan sempurna:

if(!document.getElementsByClassName){
  document.getElementsByClassName = function(className, element){
    var children = (element || document).getElementsByTagName('*');
    var elements = new Array();
    for (var i=0; i<children.length; i++){
      var child = children[i];
      var classNames = child.className.split(' ');
      for (var j=0; j<classNames.length; j++){
        if (classNames[j] == className){ 
          elements.push(child);
          break;
        }
      }
    } 
    return elements;
  };
}
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!