XML DOM sebelumnyaSibling Property
Objek Elemen
Contoh
Fragmen kode berikut memuat " books.xml " ke dalam xmlDoc dan mendapatkan simpul saudara sebelumnya dari elemen <penulis> 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();
//
Check if the previous sibling node is an element node
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>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
Output dari kode di atas akan menjadi:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Definisi dan Penggunaan
Properti PreviousSibling mengembalikan simpul saudara sebelumnya (simpul sebelumnya di tingkat pohon yang sama) dari elemen yang dipilih
Jika tidak ada simpul seperti itu, properti ini mengembalikan nol.
Sintaksis
elementNode.previousSibling
Tips dan Catatan
Catatan: Firefox, dan sebagian besar browser lainnya, akan memperlakukan spasi kosong atau baris baru sebagai node teks, sedangkan Internet Explorer tidak. Jadi, pada contoh di bawah ini, kami memiliki fungsi yang memeriksa jenis simpul dari simpul saudara sebelumnya.
Node elemen memiliki nodeType 1, jadi jika node saudara sebelumnya bukan node elemen, ia pindah ke node sebelumnya, dan memeriksa apakah node ini adalah node elemen. Ini berlanjut sampai simpul saudara sebelumnya (yang harus menjadi simpul elemen) ditemukan. Dengan cara ini, hasilnya akan benar di semua browser.
Tip: Untuk membaca lebih lanjut tentang perbedaan antara browser, kunjungi bab DOM Browser kami di Tutorial DOM XML kami.
Demo Coba Sendiri
Objek Elemen