getElementsByClassName不返回长度

时间:2013-01-25 02:18:45

标签: javascript getelementsbyclassname

我想获得返回类名的length

我想要添加一些按钮来添加事件监听器,它们都共享相同的类名。

removeButton = document.getElementsByClassName("removeButton");

当我removeButton.length时,我总是得到0,但如果我这样做:

console.log(removeButton)我可以看到那里的项目列表。

我需要长度,所以我可以遍历for-loop并分配事件监听器。

似乎有什么问题?

解决方案
在尝试使用getElementsByClassName

收集元素之前,请检查元素是否存在

2 个答案:

答案 0 :(得分:2)

如果您的JavaScript代码依赖于它们,您必须确保元素存在。

通过将<script>标记放在正文末尾来实现此目的的一种方法是:

<html>
<head></head>
<body>
<script type="text/javascript">
    // code here
</script>
</body>

您还可以将所有代码放在window.onload事件的函数中,或使用提供此功能的库,例如jQuery

答案 1 :(得分:1)

如OP所述,

  

在尝试使用之前检查元素是否存在   getElementsByClassName方法。