尝试打开Modal窗口,单击classname而不是id

时间:2017-05-24 06:18:17

标签: javascript getelementsbyclassname

Hellow Everyone,

我相信我错过了很简单的东西,但我似乎无法找到它。 我试图在用户点击div时打开一个模态窗口。当div具有 myBtn1 “id”时,它可以正常工作。但是当div具有 myBtn1 “class”时,它不起作用。

非常感谢任何帮助。

此作品

// 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>

1 个答案:

答案 0 :(得分:1)

getElementsByClassName会返回array-like object。您需要通过index从中获取第一项。

如果您注意到,请Element ById采用单一形式,但获取Elements ByClassName采用复数形式

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

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