ฉันมีฟังก์ชั่น Javascript ที่ยอมรับรายการโหนด HTML แต่คาดว่าจะมีอาร์เรย์ Javascript (มันเรียกใช้เมธอด Array บางอย่างในนั้น) และฉันต้องการฟีดผลลัพธ์ของDocument.getElementsByTagName
สิ่งนั้นที่ส่งคืนรายการโหนด DOM
ตอนแรกฉันคิดว่าจะใช้อะไรง่ายๆเช่น:
Array.prototype.slice.call(list,0)
และทำงานได้ดีในทุกเบราว์เซอร์ยกเว้น Internet Explorer ซึ่งส่งคืนข้อผิดพลาด "วัตถุ JScript ที่คาดไว้" เนื่องจากรายการโหนด DOM ที่ส่งคืนโดยDocument.getElement*
วิธีการไม่ใช่วัตถุ JScript เพียงพอที่จะเป็นเป้าหมายของการเรียกฟังก์ชัน
คำเตือน: ฉันไม่สนใจที่จะเขียนโค้ดเฉพาะของ Internet Explorer แต่ฉันไม่ได้รับอนุญาตให้ใช้ไลบรารี Javascript เช่น JQuery เนื่องจากฉันกำลังเขียนวิดเจ็ตที่จะฝังลงในเว็บไซต์ของบุคคลที่สามและฉันไม่สามารถโหลดไลบรารีภายนอกที่ จะสร้างความขัดแย้งให้กับลูกค้า
ความพยายามสุดท้ายของฉันคือการทำซ้ำรายการโหนด DOM และสร้างอาร์เรย์ด้วยตัวเอง แต่มีวิธีที่ดีกว่าในการทำเช่นนั้นหรือไม่?