今天使用源生js实现
点击按钮关闭对应div功能(有多个按钮,相同class名)
,出现onclick无效情况。
-
使用
getElementById
获取元素的结果是:当前元素
-
使用
getElementsByClassName
获取元素的结果是:相同class名元素数组。
var div = document.getElementById("div");
console.log("getElementById: ");
console.log(div);
var btn = document.getElementsByClassName("btn");
console.log("getElementsByClassName: ");
console.log(btn);
for(var i = 0;i < btn.length;i++){
btn[i].onclick=function(){
div.style.display = "none";
问题描述今天使用源生js实现 点击按钮关闭对应div功能(有多个按钮,相同class名),出现onclick无效情况。问题原因使用getElementById获取元素的结果是:当前元素使用getElementsByClassName获取元素的结果是:相同class名元素数组。解决办法 var div = document.getElementById("div"); console.log("getElementById: "); console.log(div);
html中document.get
ElementsBy
ClassName函数的使用方法定义和使用使用方法
定义和使用
get
ElementsBy
ClassName() 方法返回文档中所有指定类名的
元素集合,作为 NodeList 对象。
NodeList 对象代表一个有顺序的节点列表。NodeList 对象 我们可通过节点列表中的节点索引号来访问列表中的节点(索引号由0开始)。
提示: 你可以使用 NodeList 对象的 length 属性来确定指定类名的
元素个数,并循环各个
元素来
获取你需要的那个
元素。
记录 click 和 onclick 混淆点
之前一直有点迷惑 onclick和click,今天看书可算搞清楚了,就记录一下吧
let div = document.getElementsByClassName('div')[0]
div.onclick = function(e) {
console.log('事件处理程序/事件侦听器')
setTimeout(() => {
div.click()
}, 3000);
<div class="btn">点我啊</div>
<script>
document.getElementsByClassName("btn").onclick=function(){
alert("测试弹出!");
</script>
发现点击并没有弹出框,为什么呢?那是因为一个属性类class和ID的区别;ID的话正常就可以,用getElementsByID,但是有时候项
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Doc
是的,getElementsByClassName方法返回一个集合对象,其中包含了所有具有指定类名的元素,所以可以获取多个元素。可以通过遍历集合对象来操作每个元素。例如:
```javascript
var elements = document.getElementsByClassName("example");
for(var i = 0; i < elements.length; i++){
// 对每个具有example类名的元素进行操作
elements[i].style.color = "red";
解决:error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No
111851