jQuery <li>索引查找</li>

时间:2013-08-26 19:20:38

标签: javascript jquery html

<div class="es-carousel">
    <ul>
        <li><a><img src="something157.jpg" ></a></li>
        <li><a><img src="blabla.jpg"></a></li>
        <li><a><img src="nonsense.jpg"></a></li>
        <li><a><img src="cthulhu.jpg"></a></li>
    </ul>
</div>

html在上面。

我用jQuery选择器查找带有正确src的img:

$(".es-carousel").find("ul li a img[src*='something']")

问题是我需要找到此图像所在的li的索引。 (我计划使用.index())我不知道如何选择具有该图像的精确li。

有人能告诉我正确的方向或给我一个想法吗?感谢所有帮助。

4 个答案:

答案 0 :(得分:4)

从img开始,继续努力:

$(".es-carousel").find("img[src*='something']").parents('li').index();

http://jsfiddle.net/zyvTD/

答案 1 :(得分:4)

在这种情况下,

:has()index()可以帮助您

$(".es-carousel").find("ul li:has(a img[src*='something'])").index();

答案 2 :(得分:0)

您可以使用jQuery的parents方法获取包含您正在选择的img的相应li元素。 尝试以下选择器。

$(".es-carousel").find("ul li a img[src*='something']").parents("li");

谢谢,

Jothi

答案 3 :(得分:-1)

使用i / index参数创建每个函数,在每个函数中搜索该图像的子项,并在找到图像的位置输出索引。

样品:

var somethingVar = XxXX;

jQuery('.my-list li').each(function(index){
    var foundImage = jQuery(this).find('a img[src*='somethingVar']');
    if(foundImage.length) {
        console.log('Your index is ' + index);
    }
})