<span>This is the span I want to select</span>
<div>something here</div>
<a id="start"></a>
$('#start') のみにアクセスできるとします。
$('#start').prev('span') を試しましたが、動作しませんでした。
$('#start')
.parent() // gets one up
.find('span') // gets the span element
ノート:
prev() は前のタグのみを取得するため使用できません。アンカータグからのスパンは、前のタグではなく、前のタグの前のタグです。
一致した要素の各セットの一意の前の兄弟を含む要素のセットを取得します。オプションの式を使用して、一致したセットをフィルタリングします。以前のすべての兄弟ではなく、直前の兄弟のみが返されます。
prev([filter])
次のように、前のタグに複数のタグが含まれている場合にフィルターを適用します。
<div>
<span></span>
<a></a>
</div>
<a id="a2"></a>
使用するスパンを取得するには:
$('#a2').prev('span')
奇妙なことprevAll
に、最初の要素のすぐ後ろにある最初のものから始めて、逆方向に進んでいるようです。理にかなっていると思います。いずれにせよ、以下は私のために働いた:
//jquery :
$(document).ready(function(){
$("#start").prevAll("span:first").css("font-weight", "bold");
});
// html:
<span>This is the span I don't want to select</span>
<span>This is the span I want to select</span>
<div>something here</div>
<a id="start">Stuff</a>