javascript - 尝试通过单击类名而不是 id 打开模态窗口

标签 javascript getelementsbyclassname

大家好,

我相信我错过了一些非常简单的东西,但我似乎找不到它。 我试图在用户单击 div 时打开模式窗口。当 div 的 "id"myBtn1 时,它就可以工作。但是当div的"class"myBtn1时,它就不起作用了。

非常感谢任何帮助。

这有效

// Get the button that opens the modal
var btn = document.getElementById("myBtn1");

<a href="http://www.cnn.com/" target="_blank">
<div id="myBtn1">Open Cnn</div>
</a>

这不起作用。

// Get the button that opens the modal
var btn = document.getElementsByClassName("myBtn1");

<a href="http://www.cnn.com/" target="_blank">
<div class="myBtn1">Open Cnn</div>
</a>

最佳答案

getElementsByClassName 返回一个类似数组的对象。您需要通过 index 从中获取第一项。

如果您注意到,getElementById 是单数形式,但 getElementsByClassName 是复数形式

var btn = document.getElementsByClassName("myBtn1")[0];

<a href="http://www.cnn.com/" target="_blank">
   <div class="myBtn1">Open Cnn</div>
</a>

关于javascript - 尝试通过单击类名而不是 id 打开模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44150378/

相关文章:

css - 在 javascript jquery mobile 中显示隐藏和显示?

javascript - querySelectorAll 和 getElementsBy* 方法返回什么?

javascript - 获取子元素的值(value)

javascript - 如何在D3.js中的svg上显示直线?

javascript - 从 chrome 打印对话框中禁用打印选项

javascript - 为什么我的超赞字体视频图标在单击时不起作用?

javascript - 无需遍历即可获取 HTML 表格的表格行索引 - 仅限 Javascript

javascript - 更改 C3.js 中图表的源 URL

javascript - 重新加载时更改 div 的背景颜色

javascript - 如何使用 JavaScript 测试和计算动态编号的类名