1、正常书写代码如下:
<div class="cl"> <div id="mask"> <span id="close">X</span> </div> </div> <!-- JS代码如下 --> <script> let close = document.getElementById("close"); let cl = document.getElementsByClassName("cl"); close.onclick = function () { cl.style.visibility = "hidden"; }; </script>
2、出现报错信息:Uncaught TypeError: Cannot set properties of undefined (setting 'visibility')
3、解决办法
通过添加[0]来获取准确元素节点 (1) let cl = document.getElementsByClassName("cl")[0]; 直接通过ID获取DOM元素节点 (2) let cl = document.getElementById("cl");
4、总结原因
使用getElementsByClassName得到的是一个HTMLCollection,要用getElementsByClassName(“content”)[0]的形式。
标签:set,undefined,cl,getElementsByClassName,visibility,报错,let,document From: https://www.cnblogs.com/wanker/p/18155549