0

現在、次の一連のJQueryセレクターがあります。

$(this).parent().parent().children('a').children('img').attr('src')

それはうまく機能しますが、これを行うためのよりコンパクトな方法はありますか?

アップデート

これが私のHTML構造です:

<div class="preview">
    <a><img src="#"></a>
    <div class="info">
        <div class="item">This is where we start.</div>
    <div>
</div>
4

3 に答える 3

3

これは、特定のマークアップに関係なく、初期条件が与えられた場合に機能します。

$(this).parent().siblings('a').children('img').attr('src')
于 2012-07-30T20:53:22.820 に答える
2

あなたは次のようなことをすることができます:

$(this).closest('.preview').find('a img').attr('src')

最も近いドキュメント| ドキュメントを探す

于 2012-07-30T20:52:57.967 に答える
0

そのHTMLを使用すると、1つの方法は次のようになります。

$(this).parents(".preview").find("a img").attr("src");

また、簡単に次のことができます。

$(this).parent().prev().children("img").attr("src");

ただし、HTML5を利用できる場合は、次のように開始要素divにdata-refを追加することをお勧めします。

<div class="item" data-ref="#imgID-1">This is where we start.</div>
// and of course add an id to the img
<img id="imgID-1" src="blah.png" />

次に、次のように簡単に思い出すことができます。

var source = $($(this).data("ref")).attr("src");
于 2012-07-30T20:55:02.970 に答える