代码之家  ›  专栏  ›  技术社区  ›  BenAlabaster

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

  •  3
  • BenAlabaster  · 技术社区  · 15 年前

    我会根据图片的URL来选择图片,但由于某些原因,这并不是在玩游戏:

    最终我想要的是:

    var imgs = $("img[@src='images/object.png']:not(:hidden)");
    

    $("img[@src='images/object.png']");
    

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

    如果我在查询中省略@:

    $("img[src='images/object.png']");
    

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

    <img id="ctl00_ContentPlaceHolder1_object_1" src="images/object.png" style="height:16px;width:16px;border-width:0px;visibility:visible;display:inline;margin-right:3px;" />
    

    我正在运行jquery1.4.2,我已经检查了所有文档,所有的代码似乎都是正确的。我想这不是一个bug,而是我的误解。有人能告诉我这件事吗?

    干杯

    2 回复  |  直到 15 年前
        1
  •  10
  •   The Who    15 年前

    不要使用 @ 并且一定要包含完整的查询。如果有的话。

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

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

    :not

    $("img[src*='logo']:not(:visible)")[0]
    
        2
  •  1
  •   Paolo Bergantino    15 年前

    这曾经是jQuery中的一个bug,现在仍然是。

    查看以下门票:

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