javascript - 关于jq中的遍历问题
本文介绍了javascript - 关于jq中的遍历问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有一个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');
}
解决方案
把if里面改为$.inArray('未选.png', imgVal) > -1就可以了。原因是inArray()返回的是第一次匹配到的索引值,是从0开始的,匹配不到返回-1,类似于元素js的.indexOf()方法。
这篇关于javascript - 关于jq中的遍历问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文