現在の要素が最初の子でないかどうかはどうやってわかりますか?
これは$(this)
で動作するはずです。例えば:
$("li").click(function(e) {
if (/* $(this) is not the first-child */)
{
/* do something */
}
});
これは、要素が最初の子である場合のみテストするために行うことができます:$(this).is(':first-child')
。 :last-child
などの他のセレクターも機能します。
あなたは単にその.index()
の位置を求めることができます(その兄弟と比較して)。
$(this).index(); // returns a zero based index position
最初の子以外をすべて選択したい場合は、次のようにします。
$('#some-parent').children().not(':first')
また、次のように$(this).prev().length
が定義されているかどうかを確認できます。
if (!$(this).prev().length){ //This means $(this is the first child
//do stuff
}
インデックスをチェック
$(this).index() == 0 // is first
シンプルに保ち、DOMを使用する
$("li").click(function(e) {
if (this.previousSibling != null)
{
/* do something */
}
});
$(this).not(':first');
$("li").click(function(e) {
if ($(this).index != 0 )
{
/* do something */
}
});