【发布时间】:2015-07-24 13:13:13
【问题描述】:
var eval_table = document.getElementsByClassName("evaluation_table");
console.log(eval_table);
这显示为:
[item: function, namedItem: function]0:
table.widefat.fixed.evaluation_table
length: 1
__proto__: HTMLCollection
但是,当我尝试获取eval_table、eval_table.length 的长度时,它返回的值是0。我以前使用过这种方法,以前没有使用过这种方法。我在上面想要实现的目标有什么问题吗?
【问题讨论】:
-
Works fine。也许,您的代码中有错字?
-
不,没有错字,也许是我的环境,在 wordpress 中工作,虽然这不应该影响 vanilla javascript? @alexP
-
可能你的js是在元素创建之前执行的?
-
不,不应该。调用函数时元素是否已经在 DOM 中?
-
看这个例子:fiddle.jshell.net/7hc3qrhu/3 - 代码已经被移动到
head,所以它在元素进入DOM之前执行(记录一个空数组和0作为长度),但是在控制台中展开集合后,元素就会显示出来,因为它显示了对象在展开时的状态,并且它是一个实时集合。
标签: javascript