အိမ်ဂိတ် ဒီအားကစားသုံးနေသော ငုံတုံး

可通过使用节点间的关系对节点进行定位。

定位 DOM 节点

通过节点之间的关系来访问节点树中的节点,通常被称为“定位节点”(或导航节点,navigating nodes)。

在 XML DOM 中,节点关系被定义为节点的属性:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

下图展示了 books.xml 中节点树的一部分,并说明了节点之间的关系:

ဒီအားကစားသုံးနေသော ဒီအမြန်တက်တော်မူပြီ

DOM - 父节点

所有节点都只有一个父节点。下面的代码导航到 的父节点:

实例

function myFunction(xml) {
var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("book")[0];
    document.getElementById("demo").innerHTML = x.parentNode.nodeName;
}

亲自试一试

例子解释:

  1. books.xml 加载到 xmlDoc
  2. 获取第一个 元素
  3. 输出 "x" 的父节点的节点名

避免空文本节点

某些浏览器可能会将空白或换行视为文本节点。这会在使用以下属性时产生问题:

  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

为了避免导航到空的文本节点(元素节点之间的空格和换行符),我们使用一个函数来检查节点的类型:

function get_nextSibling(n) {
    var y = n.nextSibling;
    while (y.nodeType != 1) {
        y = y.nextSibling;
    }
    return y;
}

有了上面的函数,我们就可以使用 get_nextSibling(node) 来代替 node.nextSibling 属性。

代码解释:

元素节点的类型为 1。如果同级节点不是元素节点,则移动到下一个节点,直到找到元素节点。

获取第一个子元素

下面的代码显示第一个 的第一个元素节点:

实例




亲自试一试

例子解释:

  1. books.xml 加载到 xmlDoc 中
  2. 在第一个 元素节点上使用 get_firstChild 函数,来获取第一个子元素节点
  3. 输出第一个子元素节点的节点名称

ပိုမို အမျိုးမျိုး အစီအစဉ်

lastChild()
လိုက်နာခြင်း lastChild() စက်တန်းနှင့် ကိုယ်ပိုင် လိုက်နာခြင်း အသုံးပြုခြင်း အတွက် လက်ရှိ အပိုင်းလုံး အသုံးပြုသည်။
nextSibling()
nextSibling() အမှတ်သတ္တိ နှင့် ကိုယ်ပိုင် အရာ အသုံးပြု၍ အကျုံး အပေါင်း နောက်ပိုင်း အကျုံး ရယူ
previousSibling()
previousSibling() အမှတ်သတ္တိ နှင့် ကိုယ်ပိုင် အရာ အသုံးပြု၍ အကျုံး အပေါင်း အရှေ့အရပ် အကျုံး ရယူ