请问老师,我为什么会报错

请问老师,我为什么会报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>图片轮播</title>
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <script type="text/javascript" src="js/index.js"></script>
</head>
<body>
    <div class="main">
        <div class="banner" id="banner">
            <a href="">
                <div class="banner-slide slide1 slide-active"></div>
            </a>
            <a href="">
                <div class="banner-slide slide2"></div>
            </a>
            <a href="">
                <div class="banner-slide slide3"></div>
            </a>
        </div>
        <div class="button left"></div>
        <div class="button right"></div>
        <div class="dots">
            <span class="dots-active"></span>
            <span></span>
            <span></span>
        </div>
    </div>
</body>
</html>
1
2
3
4
5
6
var banner=document.getElementById("banner");
var arrayDiv=banner.getElementsByTagName("div");
alert(arrayDiv.length);
/*切换图片*/
function changeImg(){
}

http://img1.sycdn.imooc.com//climg/5f1cf78409931e1906820108.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,如果放在head中,加载html页面时会先加载到js代码,页面没有加载完,使用到页面中的标签会报错;像同学所说的,可以使用自定义函数的方法,暂时没有其他方法

祝学习愉快

好帮手慕阿园 2020-07-26 14:45:23

同学你好,因为js放在head中,在加载js时html还没有加载完,所以获取不到html中的元素。所以需要将js放在html加载完之后引入,也就是放在html的尾部引入

参考如下

http://img1.sycdn.imooc.com//climg/5f1d2671090cbb8508900177.jpg

祝学习愉快

  • 提问者 森林sng #1
    请问老师,如果我想要将放在head里,毕竟放在这儿规范好找易于维护,那么是不是需要将js中的获取元素的全局变量放在函数中,然后在html中的对应位置加上onclick事件。还有其他方法吗?
    2020-07-26 16:59:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码