正如其他人所说,您没有使用正确的函数名称,并且并非在所有浏览器中都普遍存在。
如果您需要跨浏览器获取带有 id 的元素以外的任何内容document.getElementById()
,那么我强烈建议您获取一个支持所有浏览器的 CSS3 选择器的库。它将为您节省大量的开发时间、测试和错误修复。最简单的方法就是使用jQuery,因为它的应用范围非常广泛,拥有出色的文档,拥有免费的 CDN 访问权限,并且拥有优秀的社区支持者来回答问题。如果这看起来超出了您的需要,那么您可以获得Sizzle,它只是一个选择器库(它实际上是 jQuery 和其他内部的选择器引擎)。我已经在其他项目中单独使用过它,它简单、高效且小巧。
如果您想一次选择多个节点,您可以采用多种不同的方式。如果你给他们所有相同的类,你可以这样做:
var list = document.getElementsByClassName("myButton");
for (var i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
}
它将返回具有该类名的节点列表。
在 Sizzle 中,它将是这样的:
var list = Sizzle(".myButton");
for (var i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
}
在 jQuery 中,它会是这样的:
$(".myButton").each(function(index, element) {
// element is a node with the desired class name
});
在 Sizzle 和 jQuery 中,您可以像这样将多个类名放入选择器中,并使用更复杂和更强大的选择器:
$(".myButton, .myInput, .homepage.gallery, #submitButton").each(function(index, element) {
// element is a node that matches the selector
});