Javascript 查找元素的子元素数返回';空';错误

Javascript 查找元素的子元素数返回';空';错误,javascript,Javascript,我试图通过纯“javascript”查找节点的子节点数,但出现意外错误 HTML: 但是,我可以清楚地看到我的div有两个子节点。有人能帮忙吗 您应该将代码放入onload事件 window.onload = function () { var a = document.getElementById('div1').children.length; console.log(a); } 或者将脚本放在之前,因为您正在尝试在创建DOM节点之前获取它您应该将代码放在onload事件中

我试图通过纯“javascript”查找节点的子节点数,但出现意外错误

HTML:


但是,我可以清楚地看到我的div有两个子节点。有人能帮忙吗

您应该将代码放入
onload
事件

window.onload = function () {
    var a = document.getElementById('div1').children.length;
    console.log(a);
}

或者将脚本放在
之前,因为您正在尝试在创建DOM节点之前获取它

您应该将代码放在
onload
事件中

window.onload = function () {
    var a = document.getElementById('div1').children.length;
    console.log(a);
}

或者将脚本放在
之前,因为您正在尝试在创建DOM节点之前获取它

您的问题是由浏览器中页面构造期间的事件顺序造成的

HTML是按顺序同步解析和计算的。脚本在HTML中出现时立即进行评估。当您的脚本(
document.getElementById('div1')
..)被计算时,div1还不存在(解析器还没有看到它),因此结果是
null
,您会得到异常


这就是为什么建议将内联脚本标记放在HTML文档末尾,紧靠正文结束标记(
)之前。

您的问题是由浏览器中页面构造期间的事件顺序造成的

HTML是按顺序同步解析和计算的。脚本在HTML中出现时立即进行评估。当您的脚本(
document.getElementById('div1')
..)被计算时,div1还不存在(解析器还没有看到它),因此结果是
null
,您会得到异常


这就是为什么建议将内联脚本标记放在HTML文档末尾,紧靠正文结束标记(
)之前。

只需将
脚本
放在
正文
部分中。只需将
脚本
放在
正文
部分中即可。
window.onload = function () {
    var a = document.getElementById('div1').children.length;
    console.log(a);
}