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