javascript - 如何使 getElementsByClassName 工作

标签 javascript

<分区>

我一直在阅读有关 getElmentByClassName 的信息,但我似乎无法在任何浏览器中使用它, 当 o 调用 ID 名称时,我拥有的功能有效,但我希望能够调用类名。

有没有不包含 Jquery 的方法?

这就是我所拥有的,如果有一些帮助会很棒。 谢谢。

<ul><li><button class="testButton">Test button</button></li></ul>

function OnButtonDown (button) {
alert("The class work")
}

function Init () {
    var className = "testButton";
    var button = document.getElementsByClassName(className);
    if (button.addEventListener) {  // all browsers except IE before version 9
        button.addEventListener ("mousedown", function () {
            OnButtonDown (button)
            }, false);
        button.addEventListener ("mouseup", function () {
            OnButtonUp (button)
            }, false);
    }
    else {
        if (button.attachEvent) {   // IE before version 9
            button.attachEvent ("onmousedown", function () {
                OnButtonDown (button)
                });
            button.attachEvent ("onmouseup", function () {
                OnButtonUp (button)
                });
        }
    }
}

最佳答案

getElementsByClassName() 返回 HTML 元素的集合,您需要使用它们的索引访问集合中的元素:

button = document.getElementsByClassName(className)[0];
// your code here

如果您只有一个元素,请考虑使用.getElementById()

关于javascript - 如何使 getElementsByClassName 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14661231/

相关文章:

javascript - iOS 奇怪的链接行为

JavaScript audio.play() 错误

javascript - 计算可预订资源的可用时段

javascript - Sequelize : how rename column in include

javascript - 如何延迟淡入并从 onclick 滑动 div

javascript - 从支持 gps 的设备获取当前纬度和经度

javascript - 像 SoundManager2 示例代码一样构建用于播放的 Howler.js 脚本?

javascript - 当我在同一页面上有两个图形 D3.js 时宽度异常

javascript - JS - 如何用比我想要的更多的逗号拆分字符串

javascript - 正则表达式检查是否只有名字