2
<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を選択する方法がわかりません。

誰かが私に正しい方向を示したり、アイデアをくれたりできますか? すべての助けに感謝します。

4

4 に答える 4

4

img から始めて、上に向かって進みます。

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

http://jsfiddle.net/zyvTD/

于 2013-08-26T19:23:07.003 に答える
4

:has()index()この場合に役立ちます

$(".es-carousel").find("ul li:has(a img[src*='something'])").index();
于 2013-08-26T19:23:54.203 に答える
0

jQueryのparentメソッドを使用して、選択しているimgを含む適切なli要素を取得できます。以下のセレクターを試してください。

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

ありがとう、

ジョティ

于 2013-08-26T19:26:22.523 に答える
-1

i/index パラメーターを使用して each 関数を作成し、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);
    }
})
于 2013-08-26T19:25:46.317 に答える