0
点赞
收藏
分享

微信扫一扫

原生JS用类名获取对象报错的解决方案

晒大太阳了 2022-02-18 阅读 104


先上代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
</head>
<body>
<div class="div1" id="div1">1231</div>
<!--<script type="text/javascript" src="Test.js"></script>-->
<script type="text/javascript">
var div1=document.getElementsByClassName("div1");
console.log(div1.innerText);
</script>
</body>
</html>

执行结果:

原生JS用类名获取对象报错的解决方案_javascript

控制台输出undefined(未定义)。

首先,我来讲一下这是为什么?

因为在原生JS中,类名可以相同,所以防止误选,用类名获取对象,获取到的对象返回的是一个数组,所以要在变量div1后加上[0],表示选择类名为div1的第一个类对象。

改正后的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
</head>
<body>
<div class="div1" id="div1">1231</div>
<div class="div1">123</div>
<!--<script type="text/javascript" src="Test.js"></script>-->
<script type="text/javascript">
//第一种方式
//var div1=document.getElementsByClassName("div1")[0];
//console.log(div1.innerText);
//第二种方式
var div1=document.getElementsByClassName("div1");
console.log(div1[0].innerText);
console.log(div1[1].innerText);
</script>
</body>
</html>

控制台输出:

原生JS用类名获取对象报错的解决方案_javascript_02

问题解决了,欢迎点赞留言关注!!!????????????



举报

相关推荐

0 条评论