DOM未捕获的TypeError:无法读取未定义的属性“子级”

时间:2019-08-19 22:15:00

标签: javascript

我正在尝试访问DOM内部的一个元素。

因此,我使用以下代码导航DOM以到达该元素。

    var body = document.body;
    var bodychild5 = body.children[5];
    var container = bodychild5.children[0];
    var mainright = container.children[1];
    var rbslip = mainright.children[1];
    var slip = rbslip.children[1];
    var sliplayer = slip.children[3];
    var innerpadding = sliplayer.children[1];
    var bsbody = innerpadding.children[0];
    var formclass = bsbody.children[0];
    var gslip = formclass.children[0];
    var almostinput = gslip.children[8];
    var input = almostinput.children[1];

我得到了元素,但是当我运行代码时,我得到了Uncaught TypeError:到达gslip时无法读取未定义的属性“ children”。

1 个答案:

答案 0 :(得分:0)

节点bsbody可能没有子节点。

a)最好添加id / class属性,以代替使用document.getElementById()document.getElementsByClassName()

b)此answer演示了如何通过节点xpath选择节点(可以从网络浏览器的F12工具中复制节点)。