XML DOM nextSibling katangian

Pagsasakop at Paggamit

nextSibling Ang katangian ay ibabalik ang susunod na node na sumusunod sa isang node (ang susunod na node sa parehong antas ng puno).

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

Mga Tagapagbatas

nodeObject.nextSibling
Tips at Mga Nota

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

Ang nodeType ng elemento na node ay 1, kaya kung ang susunod na kapatid na node ay hindi elemento na node, ito ay lumilipat sa susunod na node at suriin kung ang node na ito ay elemento na node. Ito ay magpapatuloy hanggang makasumpong ng susunod na同级 na node (dapat ito ay elemento na 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

获取节点的前一个同级节点:

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

亲自试一试