javascript 赋值id问题? 5

我建立了一个15X15的表格,然后每格一个按钮。然后我想点哪个按钮哪个按钮变成红色,但是变色没法实现,哪里出错了?是id赋值有问题吗... 我建立了一个15X15的表格,然后每格一个按钮。然后我想点哪个按钮哪个按钮变成红色,但是变色没法实现,哪里出错了?是id赋值有问题吗 展开
 我来答
梦忠魂
2020-05-27 · TA获得超过299个赞
知道小有建树答主
回答量:392
采纳率:93%
帮助的人:169万
展开全部

正确的操作应该是

button.onclick=mark();

而不是通过setAttribute添加一个 onclick 的属性,这样按钮无法绑定 click 事件,只是得到了一个 onclick 的属性

另外进行几个纠错

  • 关于 ID 属性,同样可以使用 button.id = buttID 进行代替

  • 关于 ButtID,你后面使用了单引号 'buttID',这是一个错误的写法,这是一个字符串,这样你所有的按钮都的 ID 都是 'buttID',而不是那个变量 buttID,去掉引号即可。这里推荐使用上面的那个属性赋值方法,简略一些。

  • mark 函数中,可以直接使用 this 来代替 ID 获取对象

  • this.style.color="red"

    因为 mark 函数已经被绑定到按钮上,this 只会指向这个按钮本身。并不需要通过 ID 获取对象,如果这里坚持使用 ID 获取,还需要传参给 mark 才行,实在是绕弯路。

追问
这个我也试了,但是用这个的话直接整个表格都没了,所有按钮都消失了,是为什么啊
追答

首先先进行几个纠错

  1. 关于 ID 属性,同样可以使用 button.id = buttID 进行代替

  2. 关于 ButtID,你后面使用了单引号 'buttID',这是一个错误的写法,这是一个字符串,这样你所有的按钮都的 ID 都是 'buttID',而不是那个变量 buttID,去掉引号即可。这里推荐使用上面的那个属性赋值方法,简略一些。

  3. mark 函数中,可以直接使用 this 来代替 ID 获取对象

this.style.color="red"

因为 mark 函数已经被绑定到按钮上,this 只会指向这个按钮本身。并不需要通过 ID 获取对象,如果这里坚持使用 ID 获取,还需要传参给 mark 才行,实在是绕弯路。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式