Metode GetElementsByClassName telah ditambahkan dalam DOM3, tetapi versi lain selain IE9 dan 10 tidak didukung, yang merupakan rasa sakit!
Saat ini, ini bisa diselesaikan. Ini untuk menentukan apakah browser mendukung metode ini. Jika didukung, itu tidak masalah; Jika tidak didukung, tambahkan metode GetElementsByClassName ke objek Dokumen. Metode penulisan ini memiliki keuntungan, yaitu, Anda tidak perlu memodifikasi kode terlepas dari apakah ada fungsi asli atau tidak.
Beberapa orang di internet secara langsung mendefinisikan fungsi GetElementsByClassName, tetapi dengan cara ini, Anda perlu menulis ulang semua dokumen.getElementsByClasSname dalam kode ke GEETElementsByClassName. Agak tidak nyaman dan tidak universal.
Metode berikut dengan sempurna mendukung penulisan dokumen:
if (! document.geteLementsByClassName) {document.geteLementsbyclassname = function (classname, elemen) {var anak -anak = (elemen || dokumen) .geteLementsByTagname ('*'); var elemen = array baru (); untuk (var i = 0; i <children.length; i ++) {var anak = anak [i]; var classNames = child.classname.split (''); untuk (var j = 0; j <classnames.length; j ++) {if (classnames [j] == className) {elements.push (anak); merusak; }}} mengembalikan elemen; };}