因为批量这么写的话只有初始的3个li被监听了,但有个疑惑

来源:4-24 项目作业

一万次悲声

2021-02-12 01:56:53

如果我把var lis=olist.querySelectorAll()放到 btn.onclick = funtion(){}里面呢,可以这么写么

写回答

1回答

好帮手慕慕子

2021-02-18

同学你好,是指在按钮的点击事件中重新获取所有的列表项吗?如下图所示:

http://img.mukewang.com/climg/602dc86609e39b3111241026.jpg

如果是的话,那么这么做是不可以的,因为一开始获取的只有三个li元素,通过for循环也只给这三个元素绑定了事件,后面新添加的li元素无法绑定点击事件,所以无法实现效果。

建议:可以利用事件委托,给列表绑定点击事件,然后移出当前被点击的项就可以了,示例:

http://img.mukewang.com/climg/602dc92c09d0e8f211041146.jpg

如果还有疑惑的话,可以将你自己写的完整代码粘贴过来,详细描述下你的问题,便于帮助同学准确的定位与解决问题。

祝学习愉快~

0

0 学习 · 15276 问题

查看课程