鱼C论坛

 找回密码
 立即注册
查看: 3157|回复: 6

[已解决]为何这里的this改为li【i】会报错啊,是不是哪里不规范

[复制链接]
发表于 2022-3-30 20:32:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. [code]        var li=document.getElementsByTagName('li');
  2.                 for(var i=0;i<li.length;i++){
  3.                         li[i].onclick=function(){
  4.                         for(var i=0;i<li.length;i++)
  5.                         {
  6.                                 li[i].style.backgroundColor='';
  7.                         }
  8.                         this.style.backgroundColor='pink';
  9.                 }
  10.         }
  11. 我又碰到个小问题,为何这里的this改为li【i】会报错啊,是不是哪里不规范???
复制代码
[/code]
最佳答案
2022-3-30 20:35:27
var li=document.getElementsByTagName('li');
                for(var i=0;i<li.length;i++){
                        li[i].onclick=function(){
                        for(var i=0;i<li.length;i++)
                        {
                                li[i].style.backgroundColor='';
                        }

                        this.style.backgroundColor='pink';
                }
        }

不在一个作用域
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-30 20:35:27 | 显示全部楼层    本楼为最佳答案   
var li=document.getElementsByTagName('li');
                for(var i=0;i<li.length;i++){
                        li[i].onclick=function(){
                        for(var i=0;i<li.length;i++)
                        {
                                li[i].style.backgroundColor='';
                        }

                        this.style.backgroundColor='pink';
                }
        }

不在一个作用域
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-30 20:41:50 | 显示全部楼层

怪不得我把最后this改为li【i】中的i改为别的字母a,外层for循环的i统统改成a也没用,该函数里的for里的i没改,原来如此,如果我就想用li【i】不用this,咋办。咋解决
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-30 20:42:57 | 显示全部楼层
小黄练编程 发表于 2022-3-30 20:41
怪不得我把最后this改为li【i】中的i改为别的字母a,外层for循环的i统统改成a也没用,该函数里的for里的i ...

li.onclick=function(){
                        for(var i=0;i<li.length;i++)
                        {
                                li.style.backgroundColor='';
在这里判断不就好了。
                        }
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-30 20:45:28 | 显示全部楼层
ba21 发表于 2022-3-30 20:42
li.onclick=function(){
                        for(var i=0;i

,我目的是先让其他所有li的颜色无,然后单独给绑定了点击事件的li颜色改为pink,
在这里咋判断?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-30 20:50:07 | 显示全部楼层
小黄练编程 发表于 2022-3-30 20:45
,我目的是先让其他所有li的颜色无,然后单独给绑定了点击事件的li颜色改为pink,
在这里咋判断?

新开贴,把源码全部传上来。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-30 21:01:28 | 显示全部楼层
ba21 发表于 2022-3-30 20:50
新开贴,把源码全部传上来。

也没啥源码,这就是最主要的一段js
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-5 01:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表