为了账号安全,请及时绑定邮箱和手机立即绑定

关于jq中的遍历问题

关于jq中的遍历问题

至尊宝的传说 2018-08-09 10:09:31
有一个ul,里边每个li 标签都有一个img元素,img的src只有/选中.png和/未选.png两个值,有个click事件判断所有的src如果存在/未选.png就把所有的图片都换成/选定.png,我试了用var imgval = attr(‘src’),结果只能获取到第一个值,然后用数组,each获取到每一个src然后push进去,用$.inArray()进行判断,结果点击事件是触发不了的,然后,,我也不知道是怎么回事了。。。            var imgVal = [];             list.find('ul li .img').each(function () {                 imgVal.push($(this).attr("src"));             });            if ($.inArray('未选.png',imgVal)>0){                 list.find('ul li .img').attr('src', '选定.png');             } else {                 list.find('ul li .img').attr('src', '未选.png');             }
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

把if里面改为$.inArray('未选.png', imgVal) > -1就可以了。原因是inArray()返回的是第一次匹配到的索引值,是从0开始的,匹配不到返回-1,类似于元素js的.indexOf()方法。


查看完整回答
反对 回复 2018-09-17
  • 1 回答
  • 0 关注
  • 605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信