jQuery <li> 索引查找

jQuery <li> index finding

本文关键字:索引查找 li jQuery      更新时间:2023-09-26
<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在上面。

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

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

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

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

在这种情况下

:has()index()会帮助你

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

从 img 开始,然后逐步向上:

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

http://jsfiddle.net/zyvTD/

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

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

谢谢

乔蒂

创建一个带有 i/index 参数的 each 函数,在子项中搜索该图像的每个函数中,以及在找到该图像的位置输出索引。

样本:

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);
    }
})