2011-08-07 9 views
5

jQueryの大腸セレクタjQueryので

のようないくつかの大腸セレクタがあります前、:次、:最後

は、私の質問は:

  1. は、彼らは本当にの一部でありますjQueryはDOM要素で実際に使用されているためですか?
  2. jQueryでも同等の方法があるようです。prev()next()last()です。 2つの異なる方法を持つ目的は何ですか?

いずれの基本的な例も本当に素晴らしいです。

+1

私は決して ':prev'または':next'セレクタがあることは知りませんでした。 – BoltClock

+0

私は ':last'を知っていますが、':prev'と ':next'は知っていません。いくつかのプラグインを使用していますか? –

+0

その特定のタグを削除しました。間違っていました。 – testndtv

答えて

10

jQueryには:prevまたは:nextセレクタがありません。どこから来たのか分かりません。しかし、セレクタ:lastとセレクタライブラリSizzleが提供する:firstがjQueryで使用されています。これは非標準セレクタであり、CSSの一部ではないため、JavaScriptで実装されています。

.last()方法超える :lastセレクタの一つの目的は、あなたが、このように( :last:last-childが同じでないことに注意してください)セレクタシーケンスの途中で要素をフィルタリングするために使用することができそうです

$('.a > .b:last > .c') 

ではなく、このようなメソッドの連鎖を記述すること:

$('.a').children('.b').last().children('.c'); 

ところでは、「大腸セレクター」あなたはを参照してくださいは、疑似クラス(口語的にも間違って知られ、Aと呼ばれていますs "擬似セレクタ")。

+0

紛らわしい質問への大きな答え! – jpaugh

1
  1. はい、彼らは時々あなたが常にセレクタ内のすべてを含めるか、またはセレクタの細分化を望むことができないdocumentation
  2. です。

前と::次のフィルタ、

$(".mylist").each(function(){ 
    $(this).css("color","red"); 
    $(this).next().show(); 
}) 
+1

':last'のみがドキュメントにあり、':prev'や ':next'ではありません。 – Guffa

+1

@ Guffa私は一般的にall:セレクタ構造を含むように、 "...セレクタのような" *というポスターの説明を解釈し、なぜそれを使うかという質問に答えました。 (また、文書へのリンクはこれを修正する必要があります) –

1

コロンはドロップダウンリストで選択したオプションを取得したい私は$("select option:selected")を使用するか、確認のラジオボックスを取得するには、フィルタを表し、私は$("input[type=radio]:checked");

なしがありますを使用しますここではフィルタの完全なリストを見つけることができますhttp://api.jquery.com/category/selectors/

2

ここでは、あらゆる種類のセレクタとオブジェクトの移動を使ってスライダを作成しました。

$('#next').click(function() { 
    if (!$('*').is(':animated')) { 
    if ($('div.display:visible').is(':nth-child(3)')) { 

     $('div.display:visible').fadeOut(); 
     $('div.display:first').fadeIn(function() { 
     $(this).children().fadeIn(); 
     }); 

    } else { 

     $('div.display:visible').fadeOut().next().fadeIn(function() { 
     $(this).children().fadeIn(); 
     }); 
    } 
    } 

}); 

$('#prev').click(function() { 
    if (!$('*').is(':animated')) { 
    if ($('div.display:visible').is(':nth-child(1)')) { 
     $('div.display:visible').fadeOut(); 
     $('div.display:last').fadeIn(function() { 
     $(this).children().fadeIn(); 
     }); 

    } else { 
     $('div.display:visible').fadeOut().prev().fadeIn(function() { 
     $(this).children().fadeIn(); 
     }); 
    } 
    } 

}); 
+5

あなたは間違った質問に答えましたか? – BoltClock

+3

私の知る限りではありません。彼らは例を求めていましたが、これには大量のコロンセレクターがあり、どのように使用しましたか? – Xeo