jQuery图片src选择器

5

我正在尝试使用jQuery选择器返回所有没有特定src的图像。

$('img[src!="/img/none.png"]')

这些图片已经是透明的,出于性能考虑,我试图将它们从淡入/淡出的图片中排除。但查询仍然返回src = /img/none.png的图片。
然而,如果我执行以下操作:
$('img[src="/img/none.png"]')

它将仅返回src = / img / none.png的图像。因此,似乎属性不等选择器已损坏?相关文档http://api.jquery.com/attribute-not-equal-selector/
2个回答

10
尝试
$('img:not([src="/img/none.png"])');

如果那不起作用,尝试:
$('img:not([src$="/img/none.png"])');

根据您使用的浏览器不同,src 不会被解释为您设置的内容,而是被解释为绝对 URI,因此您的浏览器认为它是 http://www.yoursite.com/img/none.png。我不确定 jQuery 如何读取 src,因此它可能会获取绝对 URI。


如果最后一个语句是原因,那么jQuery会返回所有的图像,因为它们不等于任何指定的内容... - JCOC611
@JCOC - 第二个片段使用了属性结尾选择器,因此可以理解为“不以'/img/none.png'结尾的图像”。 - Ben Blank
@Ben Blank - 他的意思是,OP发布的第二个示例不起作用,他是正确的。 - user578895

0

尝试使用:not选择器

$('img:not([src="/img/none.png"])')

如果您在使用图像时混合了相对路径或绝对路径,您可能想要使用“属性以...结束”选择器,如另一个答案中所提到的。
$('img:not([src$="/img/none.png"])')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接