Node yang dikenal ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, dan COMMENT_NODE.
Dari sekian banyak itu, node yang di bahas kali ini adalah ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE - sisanya kemungkinan menyusul, tetapi tidak janji.
Kode di atas terdapat dua node, yaitu Element node P dan Text node dengan nilai 'Halo, apa kabar.'. Text node di dalam elemen dipertimbangkan sebagai child node dari elemen, dan sebaliknya elemen itu dipertimbangkan sebagai Parent node dari Text node.
Jika menuliskannya:
Element node P mempunyai dua child node, yaitu Text node dengan nilai 'Halo, ' dan Element node B (Element node B mempunyai satu child node, yaitu Text node dengan nilai 'apa kabar.').
Kalaupun penulisan di atas di tambahkan dengan Attribute node, semisal:
Element node P tetap mempunyai dua child node, karena Attribute node tidak dipertimbangkan sebagai child node dari suatu elemen.
ELEMENT_NODE
Untuk mengakses Element node di dalam dokumen HTML, anda bisa gunakan metode Document.getElementById(), atau Document.getElementsByTagName().
Metode getElementById()
akan mendapatkan elemen berdasar ID-nya. Bentuk sintaksnya:
Parameter elemID
adalah nilai atribut ID dari elemen yang di akses. Sebagai contoh jika ada satu contoh IMG seperti berikut:
Untuk mengakses IMG di atas berdasar ID-nya, adalah seperti berikut:
Metode getElementsByTagName()
akan mengembalikan koleksi elemen berdasar nama tag yang ditetapkan. Bentuk sintaksnya:
Parameter tagName
adalah nama tag dari elemen yang ingin didapatkan koleksinya.
Contoh di bawah ini mengembalikan koleksi elemen IMG di dalam dokumen HTML, di sini melibatkan properti length
:
Setiap IMG di dalam koleksi memiliki indeks dari posisinya. Anda bisa menentukan IMG mana di dalam koleksi akan dikembalikan, seperti berikut:
Di atas digunakan untuk mengembalikan IMG ber-ID 'myIMG1'. Jika ingin IMG ber-ID 'myIMG2' dikembalikan, bisa menuliskannya seperti berikut:
dst...
ATTRIBUTE_NODE
DOM menyediakan beberapa metode untuk mengakses atribut dari suatu elemen. Dengan metode yang disediakan, anda bisa memanipulasi atribut, misalnya mengganti nilai atribut, bahkan menghapus atribut dari elemen yang anda mau.
Contoh berikut mendapatkan atribut SRC dari IMG:
Contoh berikut menetapkan atribut SRC beserta nilainya untuk IMG:
Contoh terakhir jika anda memang ingin menghapus atribut SRC dari IMG:
Untuk mendapatkan Attribute node gunakan metode Element.getAttributeNode(). Untuk menetapkan atribut beserta nilainya, gunakan Element.setAttribute(). Untuk menghapus atribut, gunakan Element.removeAttribute().
TEXT_NODE
Seperti diberitahukan di atas, bahwa teks dari suatu elemen bukanlah nilai dari Element node, melainkan nilai dari Text node.
Contoh di bawah ini mengembalikan teks dari elemen P:
Contoh di bawah ini mengganti teks dari elemen P dengan teks lainnya:
Masih banyak cara yang bisa digunakan untuk mengakses node, mudah-mudahan ini saja bisa ada manfaatnya.