Properti nextSibling XML DOM
Definisi dan Penggunaan
nextSibling
Properti ini mengembalikan node yang mengikuti node yang berada (node berada di tingkatan yang sama).
Jika tidak ada node seperti itu, properti ini mengembalikan null.
Sintaks
nodeObject.nextSibling
Perhatian:Firefox dan sebagian besar peramban lainnya akan menganggap spasi atau garis baru sebagai node teks, sedangkan Internet Explorer tidak. Oleh karena itu, di contoh di bawah ini, kami menggunakan fungsi untuk memeriksa tipe node node saudara berikutnya.
Node element nodeType adalah 1, jadi jika node saudara berikutnya bukan node element, maka dia bergerak ke node berikutnya dan memeriksa apakah node itu adalah node element. Ini akan terus berlanjut sampai menemukan node saudara yang sama berikutnya (harus menjadi node element). Demikian pula, hasilnya benar di semua peramban.
Petunjuk:Untuk mendapatkan informasi lebih lanjut tentang perbedaan antara browser, kunjungi bagian DOM Browser di tutorial XML DOM.
Contoh
Contoh 1
Kode di bawah ini akan mengambil "books.xml" ke xmlDoc dan mengambil node saudara berikutnya dari elemen <title> pertama:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Memeriksa apakah node saudara berikutnya adalah node elemen function get_nextsibling(n) { var x = n.nextSibling; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = get_nextsibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>Next sibling: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
Contoh 2
Mengambil node saudara sebelumnya:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Memeriksa apakah node saudara sebelumnya adalah node elemen function get_previoussibling(n) { var x = n.previousSibling; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("author")[0]; var y = get_previoussibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br> Saudara sebelumnya: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }