问答详情
源自:9-11 访问兄弟节点

求助各位慕友!关于本例中getElementsByTagName的一点疑问!

当利用getElementsByTagName取不同父元素的元素时,所取得元素排列是否会有区分(同单父元素选取的情况下相比),因为本例中若取第三个元素(即ID=“c”的“html”),结果输出显示“已经是最后一个节点”,难道这种情况下两段父元素中的子元素之间是有间隙的是吗?如果有那具体又是怎样的间隙?谢谢!

提问者:了不起的鸭嘴兽 2016-04-25 09:21

个回答

  • 仁太
    2016-05-04 14:21:58

    用TagName取得的确是所有的li 但是这节中的例子 nextSibling 这个方法 取得却只是同级元素  你取值ID为C的节点   是第一个ul 的最后一个标签  所以提示是最后一个节点  nextSibling 这个方法不支持跨标签取值  所有不会取到ID为D的节点 就是不能获取第二个ul里面的节点

  • Uauslman
    2016-04-25 11:46:48

    不是有间隙,而是同一树层中的元素没有了,此时值为null,程序条件不满足停止运行(nextSibling 属性可返回某个节点之后紧跟的节点(处于同一树层级中))。