addEventListener 一个问题搞不明白

IRTYEDF 2016-03-21 03:00:20
<p><label><input type="checkbox" name="lang" value="javascript"><span>JavaScript<span></label></p>
<p><label><input type="checkbox" name="lang" value="python"><span>Python</span></label></p>
<p><label><input type="checkbox" name="lang" value="ruby"><span>Ruby</span></label></p>


var span = document.querySelectorAll('span');
var ps = document.querySelectorAll('p');
for (var i = 0; i<= span.length; i++) {
span[i].addEventListener('mouseover',function() {
this.title = 'hello';
},false);
}
for (var j = 0; j <= ps.length; j++) {
ps[j].addEventListener('click',function(){
this.setAttribute('class','zoomOut');
},false);
}


为什么第二个addEventListener没有效果?
...全文
1188 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IRTYEDF 2016-06-07
  • 打赏
  • 举报
回复
引用 4 楼 superwfei 的回复:
js 一旦报错,解析就直接停止了,后续代码不再继续运行,所以,调试 js 最好不要把报错信息关闭
Yes 是这样的
functionsub 2016-03-21
  • 打赏
  • 举报
回复
for循环的时候为什么要写<=? 难道不知道querySelector返回的是个类数组对象?数组遍历所有元素也不该<=吧? 第一个for循环执行到最后一次的时候span[i]是undefined,再.addEvenetListener直接挂掉了,下面的for循环没有执行。
似梦飞花 2016-03-21
  • 打赏
  • 举报
回复
this.className='zoomOut'试试
slwsss 2016-03-21
  • 打赏
  • 举报
回复
事件没执行还是样式没效果?
文盲老顾 2016-03-21
  • 打赏
  • 举报
回复
js 一旦报错,解析就直接停止了,后续代码不再继续运行,所以,调试 js 最好不要把报错信息关闭

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧