web-dev-qa-db-ja.com

要素が最初の子でないかどうかを確認するにはどうすればよいですか?

現在の要素が最初の子でないかどうかはどうやってわかりますか?

これは$(this)で動作するはずです。例えば:

$("li").click(function(e) {
    if (/* $(this) is not the first-child */)
    {
        /* do something */
    }
});
30
James

これは、要素が最初の子である場合のみテストするために行うことができます:$(this).is(':first-child'):last-childなどの他のセレクターも機能します。

57
slikts

あなたは単にその.index()の位置を求めることができます(その兄弟と比較して)。

$(this).index();   // returns a zero based index position
30
user113716

最初の子ではない#thing内のすべてのliについて:

$('#thing li:not(:first-child)')

参照 http://api.jquery.com/not-selector/

10
Stephan Muller

最初の子以外をすべて選択したい場合は、次のようにします。

$('#some-parent').children().not(':first')
4
jwueller

また、次のように$(this).prev().lengthが定義されているかどうかを確認できます。

if (!$(this).prev().length){ //This means $(this is the first child
    //do stuff
}
4
pederOverland

インデックスをチェック

$(this).index() == 0 // is first
3
BrunoLM

シンプルに保ち、DOMを使用する


$("li").click(function(e) {

    if (this.previousSibling != null)
    {
        /* do something */
    }

});
1
John Doherty

jQuery .not()

$(this).not(':first');
0
Ryan Kinal
$("li").click(function(e) {
   if ($(this).index != 0 )
  {
      /* do something */
   }
});
0
legendJSLC