วิธีการ getElementsByClassName ได้รับการเพิ่มใน DOM3 แต่ไม่รองรับรุ่นอื่น ๆ นอกเหนือจาก IE9 และ 10 ซึ่งเป็นความเจ็บปวด!
ในปัจจุบันสิ่งนี้สามารถแก้ไขได้ มันคือการตรวจสอบว่าเบราว์เซอร์รองรับวิธีนี้หรือไม่ หากได้รับการสนับสนุนมันไม่สำคัญ หากไม่ได้รับการสนับสนุนให้เพิ่มวิธี getElementsByClassName ลงในวัตถุเอกสาร วิธีการเขียนนี้มีข้อได้เปรียบนั่นคือคุณไม่จำเป็นต้องแก้ไขรหัสโดยไม่คำนึงว่ามีฟังก์ชั่นดั้งเดิมหรือไม่
บางคนบนอินเทอร์เน็ตกำหนดฟังก์ชัน getElementsByClassName โดยตรง แต่ด้วยวิธีนี้คุณต้องเขียน document.getElementsByClassName ใหม่ในรหัสเพื่อ getElementsByClassName มันไม่สะดวกและไม่ใช่สากล
วิธีการต่อไปนี้สนับสนุนการเขียนเอกสารอย่างสมบูรณ์:
if (! document.getElementsByClassName) {document.getElementByClassName = function (className, Element) {var children = (องค์ประกอบ || เอกสาร) .getElementByTagname ('*'); องค์ประกอบ var = new Array (); สำหรับ (var i = 0; i <children.length; i ++) {var child = เด็ก [i]; var classnames = child.classname.split (''); สำหรับ (var j = 0; j <classnames.length; j ++) {ถ้า (classnames [j] == classname) {elements.push (เด็ก); หยุดพัก; }}} องค์ประกอบส่งคืน; -