返回课程

兄弟节点问题

重要性:5

如果 elem 是一个任意的 DOM 元素节点…

  • elem.lastChild.nextSibling 是否始终为 null
  • elem.children[0].previousSibling 是否始终为 null
  1. 是的,正确。元素 elem.lastChild 始终是最后一个,它没有 nextSibling
  2. 不,错误,因为 elem.children[0]元素中的第一个子节点。但它之前可能存在非元素节点。所以 previousSibling 可能是一个文本节点。

请注意:对于这两种情况,如果没有任何子节点,则会发生错误。

如果元素没有子节点,则 elem.lastChildnull,因此我们无法访问 elem.lastChild.nextSibling。并且集合 elem.children 为空(就像一个空数组 [])。