html:
<img src="img/123.jpg" />
<img src="img/loading.gif" data-src="img/1.jpg"/>
<img src="img/loading.gif" data-src="img/2.jpg"/>
我要做个懒加载,用jquery获取到页面中的image元素,但有些img不带 data-src自定义属性的不做处理
以下选择器把不带data-src的img也获取了,是什么原因呢var getImgs = $("img[data-src!='']")
[attr!='value'] 这个选择器不是标准选择器,是 jQuery 扩展的功能,在 jQuery 的实现里面,如果元素不包含attr,并且属性选择符是 !=,这个元素也会被加到最终的结果里面。
你的 DOM 结构如果是下面这种,选择器返回的才是你想要的结果。
<img src="img/123.jpg" data-src/>
<img src="img/loading.gif" data-src="img/1.jpg"/>
<img src="img/loading.gif" data-src="img/2.jpg"/>
根据你的需求和 DOM 结构,应该用 「含有某个属性选择器」,而不是「某个属性不等于选择器」。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。