自分のニーズに合ったセレクターが見つかりません。.info
span
の要素がimg
の要素の前にあります。img要素の前にある最初のスパン(その間の任意のdom要素)を選択しますか?
<div> <!-- common parent -->
<span class="info"></span>
<p>Stuff</p><span>Other sfuff</span>
<!-- p, span or possibly other dom element before img -->
<img src="" alt="" class="highlight" />
<span class="info"></span>
<!-- here nothing precede img element -->
<img src="" alt="" class="highlight" />
</div>
私が試した:
$("img.highlight").prev("span.info")
を秒1での作品ながら(つまり直前の兄弟です)最初の例では失敗します私はjQueryのに新たなんだ、我慢してください。
$("img.highlight").prevAll("span.info")
は、最初のスパンも選択されるため、2番目のスパンで失敗します。
EDIT:
$("img.highlight").each(function() {
$info = $(this).selector("span.info") // selector() to be replaced
$info.text($(this).attr("src")); // Fill the right span.info
});
を行うことができ、私は混乱しています。あなたはcommon-parent 'div'の最初の' span.info'だけを望みますか? –
@lburk nope、申し訳ありませんが、英語は母国語ではありません。私は各imgの最初の先行するspan.infoが欲しい。 – gremo