老师,帮我看下哪里错了,我没有重新声明lis,为什么报错

老师,帮我看下哪里错了,我没有重新声明lis,为什么报错

问题描述:

老师,帮我看下哪里错了,我没有重新声明lis啊,为什么报错

相关代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>HTML</li>
        <li>CSS</li>
        <li>JavaScript</li>
        <li>jquery</li>
        <li>HTML5</li>
        <li>CSS3</li>
        <li>ES6</li>
    </ul>
    <script type="text/javascript">
        //补充代码
        let lis = document.getElementsByTagName("li");
        
        for(let i = 0; i < lis.length; i++) {
            let text;
            let color;
            let fontSize;
            lis[i].onmouseenter = function(e) {
                text = e.target.innerText;
                e.target.innerText = text + "我是第" + i+1 + "个";
                color = e.target.style.color;
                e.target.style.color = "red";
                fontSize = e.target.style.fontSize;
                e.target.style.fontSize = "20px";
            };
            lis[i].onmouseleave = function(e) {
                e.target.innerText = text;
                e.target.style.color = color;
                e.target.style.fontSize = fontSize;
            }
        }
    </script>
</body>
</html>

相关截图:

http://img1.sycdn.imooc.com//climg/60c82d2e09b51ade09730175.jpg

正在回答

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

2回答

同学你好,使用同学提供的代码测试,控制台没有报错,如下:

http://img1.sycdn.imooc.com//climg/60c8544f09cb129615620861.jpg

移入时显示的'我是第x个'是不对的,原因是i先与字符串拼接了,建议:可以加个括号,如下:

http://img1.sycdn.imooc.com//climg/60c854cc094a93e507630073.jpg

同学可以检查下有没有测错文件,修改代码之后有没有保存。祝学习愉快~

  • 慕姐5289795 提问者 #1

    ​测试过了,好像是因为平台的代码提交有缓存,刷新后第一次测试是好的,之后不刷新直接再点提交就会报错

    2021-06-15 16:35:40
好帮手慕言 2021-06-15 19:10:36

同学你好,使用在线编辑器时,要刷新之后再提交,另外:也可以使用自己电脑上的编辑器测试,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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