如何根据路径/url选择图像?

我想根据他们的url选择图片,但由于某种原因,它不是在玩球:

最终我追求的是:

var imgs = $("img[@src='https://stackoverflow.com/questions/3167806/how-do-i-select-an-image-based-on-its-path-url/images/object.png']:not(:hidden)"); 

但即使有一些简单的东西:

 $("img[@src='https://stackoverflow.com/questions/3167806/how-do-i-select-an-image-based-on-its-path-url/images/object.png']"); 

抛出此错误:“TypeError:Object不支持此属性或方法”。

如果我从查询中省略了@:

 $("img[src='https://stackoverflow.com/questions/3167806/how-do-i-select-an-image-based-on-its-path-url/images/object.png']"); 

我没有退回任何物品。 我在运行时直接从生成的html复制并粘贴了路径,但它仍然拒绝返回任何项目。 如果我用id选择器替换src选择器,它将返回项目。

这是运行时生成的图像标记:

  

我正在运行jQuery 1.4.2并且我检查了所有文档,并且所有文档似乎都正确编码。 我假设这不是一个错误,而是我的错误解释。 任何人都可以对此有所了解吗?

干杯

不要使用@并确保也包含完整查询。 如果有的话。

 $("img[src='/images/marketing/logo.png?1277792289']")[0] 

你也可以进行子串匹配

 $("img[src*='logo']")[0] 

并且:not选择器在错误的地方。 它不应该在属性括号中。

 $("img[src*='logo']:not(:visible)")[0] 

这曾经是jQuery中的一个错误,显然它仍然存在。

查看以下门票:

  • 无法使用action属性选择表单
  • 表单和选择器属性filter的attr“action”
  • 属性“src”的选择器与1.2.6中的工作方式不同
  • IE7通过添加“http:// …”来“修复”href atrribute的值

基本上,如果你使用attributeEndsWith($)或attributeContains(*)选择器,你所拥有的将会有效,因为jQuery没有将你的字符串与你放入图像src属性的内容进行比较,而是针对完整的url路径(即http: // ….. / images/object.png)