2012-03-21 16 views
1

まあ、私はその時にtbodyを変更する関数を持っています。 だから私は1.7.1でこのようなものを使用する必要があります:.on()で最後と最初のものを除くすべてのtrを選択してください

$("table#id").on('click', 'tr', callback); 

今、私はこのイベントから抜け出す必要があるが、最初と最後のTDを誘発します。

だから私のような何かを実行します。

$("table#id").on('click', 'td:not(:first, :last)', callback); 

をしかし、これは動作しません。 私は.live()も試してみましたが、何の結果も得られません。

ありがとうございます!

答えて

0

:firstおよび:lastは、jQueryオブジェクトの最初と最後の要素と一致します。 on()を使用しているので、セレクタは単一の要素(イベントターゲット)を含むjQueryオブジェクトのコンテキストで評価されます。したがって、その要素はセット内の最初と最後の両方の項目であるため、決してマッチしません。

コントラスト:first-childおよび:last-childは、親要素の最初と最後の要素に一致します。それらを使用すると、あなたの問題を解決する必要があります: - :

$('table').on('click', 'td:not(:first-child, :last-child)', function() { 
    alert('hi'); 
});​​​​​​​​​​​​​​​​​​​​​​​​​​​ 
+0

最悪のことは..私はこれらのセレクタをCSSで使用していますが、jquery -.-に感謝します。 – nax

0

あなたが:first-child:last-childセレクタたい:first:lastを最後マッチした要素です。
jsFiddleを参照してください。

0

使用first-childlast-childセレクタ

$("#id").on("click", "td:not(:first-child, :last-child)", callback); 
関連する問題