jQuery通过src属性查找元素

kle*_*ium 1 javascript jquery jquery-selectors

我有这个小画廊(代码只是示例):

<div id="gallery_imgs">
    <img src="http://fc01.deviantart.net/fs71/f/2014/112/0/9/nobody_believes_in_me_by_idjpanda-d7fkd7m.png" />
    <img src="http://fc09.deviantart.net/fs71/f/2014/112/5/6/feed_me_d__by_idjpanda-d7fgids.png" />
    <img src="http://fc02.deviantart.net/fs71/f/2014/104/e/5/blar_auction_by_idjpanda-d7ehmoc.png" />
</div>
<p></p>
Run Code Online (Sandbox Code Playgroud)

JS代码:

var that = $("#gallery_imgs img:eq(1)");
$("p").html($("#gallery_imgs img").find("[src='"+that.attr("src")+"']").length);
Run Code Online (Sandbox Code Playgroud)

这个返回0。为什么?这是错误,还是我做错了?

Tus*_*har 5

您需要.filter()

$("p").html($("#gallery_imgs img").filter("[src='"+that.attr("src")+"']").length);
Run Code Online (Sandbox Code Playgroud)

你可以使用.find()这个方法

$("p").html($("#gallery_imgs").find("img [src='"+that.attr("src")+"']").length);
Run Code Online (Sandbox Code Playgroud)

问题

$("#gallery_imgs img").find("[src='"+that.attr("src")+"']")您正在尝试查找元素src内部img元素不在元素内部的img元素