XML DOM nextSibling katangian

Definisyon at Paggamit

nextSibling Ang katangian ay ibabalik ng susunod na magkakasama na node ng pinili na element (ang susunod na node sa parehong antas ng puno).

Kung walang tulad na node, ang katangian na ito ay ibabalik na null.

Gramata

elementNode.nextSibling
Tips at Mga Tanda

Babala:Ang Firefox at karamihan sa ibang browser ay magtuturing ng walang laman o palitan bilang text node, habang ang Internet Explorer ay hindi. Kaya, sa mga sumusunod na halimbawa, gumagamit kami ng isang function upang suriin ang uri ng susunod na kapatid na node.

Ang nodeType ng element node ay 1, kaya kung ang susunod na kapatid na node ay hindi element node, ito ay lumilipat sa susunod na node at suriin kung ito ay element node. Ito ay magpapatuloy hanggang makasumpong ng susunod na magkakasama na node (dapat ito ay element node). Sa ganito, ang resulta ay tama sa lahat ng browser.

提示:如需了解有关浏览器之间差异的更多信息,请访问 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>Next sibling: " + y.nodeName + " = " +
    y.childNodes[0].nodeValue;
{}

亲自试一试

例子 2

使用 previousSibling 方法,获取节点的前一个同级节点:

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;
{}

亲自试一试