使用字符串变量查找div内图像的索引

时间:2014-08-09 08:33:32

标签: jquery

<img class="imgT" src='imgT/01.jpg' alt="img">
<div id="store">
  <img src="imgT/05.jpg" alt="img">
  <img src="imgT/01.jpg" alt="img">
  <img src="imgT/04.jpg" alt="img">
</div>

JS

var x = $(".imgT").attr("src");  // imgT/01.jpg

我需要在#store div中找到该图像的索引。

我尝试了这个,但没有工作:

var index = $("#store").children().find(x).index();
alert (index);  // should be 1

我收到了错误:
Uncaught Error: Syntax error, unrecognized expression: imgT/01.jpg

2 个答案:

答案 0 :(得分:4)

试试这个

var x = $(".imgT").attr("src");
var index = $("#store").find('img[src="'+x+'"]').index();
alert (index)

DEMO

答案 1 :(得分:1)

查找后代中的外观,但您已经调用过&#34;儿童&#34;在你的div。你的孩子没有任何后代。

http://api.jquery.com/find/

失去.children电话,没有必要。

另外,我不相信这是对find()的有效使用 - 阅读文档。我没有看到任何带有随机值字符串的内容,并在元素属性中搜索该值。

这就是你想要的:

alert($("#store").find("img[src='imgT/01.jpg']").index());

这需要#store div,调用find来搜索其后代,找到您想要的src的img标记。您可以使用文字替换来放入您的&#39; x&#39;变量而不是硬编码的01.jpg字符串。