XML DOM öncekiKardeş Özelliği
❮ Öğe Nesnesi
Örnek
Aşağıdaki kod parçası, " books.xml " dosyasını xmlDoc'a yükler ve ilk <author> öğesinden önceki kardeş düğümü alır:
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;
}
Yukarıdaki kodun çıktısı şöyle olacaktır:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Tanım ve Kullanım
BeforeSibling özelliği, seçilen öğenin önceki kardeş düğümünü (aynı ağaç seviyesindeki önceki düğüm) döndürür
Böyle bir düğüm yoksa, bu özellik null değerini döndürür.
Sözdizimi
elementNode.previousSibling
İpuçları ve Notlar
Not: Firefox ve diğer tarayıcıların çoğu, boş beyaz boşlukları veya yeni satırları metin düğümleri olarak değerlendirir, Internet Explorer yapmaz. Dolayısıyla, aşağıdaki örnekte, önceki kardeş düğümün düğüm türünü kontrol eden bir fonksiyonumuz var.
Öğe düğümlerinin nodeType değeri 1'dir, bu nedenle önceki kardeş düğüm bir öğe düğümü değilse, önceki düğüme geçer ve bu düğümün bir öğe düğümü olup olmadığını kontrol eder. Bu, önceki kardeş düğüm (bir öğe düğümü olmalıdır) bulunana kadar devam eder. Bu şekilde sonuç tüm tarayıcılarda doğru olacaktır.
İpucu: Tarayıcılar arasındaki farklar hakkında daha fazla bilgi edinmek için XML DOM Eğitimimizdeki DOM Tarayıcıları bölümümüzü ziyaret edin.
Kendiniz Deneyin Demoları
❮ Öğe Nesnesi