开发者社区> 问答> 正文

$("img[data-src!='']")选择器问题

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!='']")

展开
收起
小旋风柴进 2016-05-30 10:14:52 2950 0
1 条回答
写回答
取消 提交回答
  • [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 结构,应该用 「含有某个属性选择器」,而不是「某个属性不等于选择器」。

    2019-07-17 19:19:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
<img src...[mitah].1536575523.pdf 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载