XML DOM แอตทริบิวต์ nextSibling
คำนิยามและการใช้งาน
nextSibling
แอตทริบิวต์กลับค่าตัวไนน์ที่ตามตัวไนน์หนึ่ง (ตัวไนน์ที่อยู่ในระดับเดียวกันกับต้นไม้)
ถ้าไม่มีตัวไนน์นั้น แอตทริบิวต์จะกลับค่า null
ภาษาบท
nodeObject.nextSibling
หมายเหตุ:Firefox และบราวเซอร์ที่ส่วนใหญ่อื่นจะมองเห็นช่องว่างหรือบรรทัดช่องว่างเป็นตัวไนน์ข้อความ แต่ Internet Explorer ไม่เช่นนั้น ดังนั้นในตัวอย่างข้างต้น เราใช้ฟังก์ชันเพื่อตรวจสอบประเภทของตัวพี่น้องต่อไป
อนุญาติของตัวไนน์โดยมี nodeType ค่า 1 ดังนั้นถ้าตัวพี่น้องต่อไปไม่ใช่ตัวไนน์อนุญาติ มันจะย้ายไปยังตัวไนน์ต่อไปและตรวจสอบว่าตัวไนน์นั้นเป็นตัวไนน์อนุญาติหรือไม่ นี่จะดำเนินการต่อไปจนหาถึงตัวพี่น้องเดียวกันต่อไป (ต้องเป็นตัวไนน์อนุญาติ) ดังนั้นผลลัพธ์จะถูกต้องในทุกเบราเซอร์
คำแนะนำ:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างเว็บเบราส์ โปรดเข้าถึงบทวิทยานิยาม XML DOM ในหมวด DOM ของเว็บเบราส์
ตัวอย่าง
ตัวอย่าง 1
รหัสใต้นี้จะโหลด "books.xml" ไปยัง xmlDoc และดึงของต้นของ同级ต่อไปจาก <title> แรก
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // ตรวจสอบของต้นของ同级หลังนี้มีชื่อเดียวกันหรือไม่ 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>ฝายที่อยู่หลัง: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
ตัวอย่าง 2
เรียกของของฝายที่เป็น同级ก่อนหน้านี้
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // ตรวจสอบของต้นของ同级ฝายมีชื่อเดียวกันหรือไม่ 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; }