⊗jsSpPATD 50 of 294 menu

ความแตกต่างระหว่างประเภทของอาเรย์เทียมใน JavaScript

ความแตกต่างระหว่างประเภทของอาเรย์เทียมสองประเภท อยู่ที่พฤติกรรมที่ต่างกันเมื่อ DOM elements เปลี่ยนแปลง ตัวอย่างเช่น สมมติว่าเราได้รับ collection ของ paragraph ในรูปแบบ HTMLCollection และในรูปแบบ NodeList จากนั้นเราสร้างและเพิ่ม paragraph อีกหนึ่งอัน เข้าไปใน DOM ของเรา ในกรณีนี้ มันจะปรากฏขึ้นโดยอัตโนมัติ ใน HTMLCollection แต่ collection NodeList จะยังคงไม่เปลี่ยนแปลง

มาดูตัวอย่างกัน สมมติว่าเรามี div และในนั้นมี paragraph รับ div ของเราและ paragraph เดียวกัน ในรูปแบบ collection สองประเภทที่ต่างกัน:

let parent = document.querySelector('div'); let elems1 = document.getElementsByTagName('p'); // HTMLCollection let elems2 = document.querySelectorAll('p'); // NodeList

เพิ่ม paragraph อีกหนึ่งอันเข้าไปใน div ของเรา:

let p = document.createElement('p'); parent.append(p);

ผลลัพธ์คือ collection หนึ่งจะเปลี่ยนแปลง แต่ส่วนที่สองจะไม่:

console.log(elems1); // 4 paragraph - พร้อมอันใหม่ console.log(elems2); // 3 paragraph เริ่มต้น

ตรวจสอบว่าคุณสมบัติ children จะมีพฤติกรรมอย่างไรเมื่อเพิ่ม element ใหม่

ตรวจสอบว่าคุณสมบัติ childNodes จะมีพฤติกรรมอย่างไรเมื่อเพิ่ม element ใหม่

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ