0

jQueryのnth-childセレクタは、以下のHTMLで動作すると期待されているため動作しません。 (総数SELECTs - 1)の代わりに0を返します。私はTABLEを取り除き、SELECTだけを保持すればうまく動作します。私はテーブル構造を保持するかどうかを私がnth-child(n+1)を使用するとうまく動作することに気付きました。アラートコードをボタンクリックイベントに移動しても何も変更されませんでした。テーブル構造のjQueryのnth-child(n + 2)に関する問題

<table> 
    <tr> 
     <td> 
      <select> 
       <option value=""></option> 
       <option value=""></option> 
       <option value=""></option> 
      </select> 
     </td> 
     <td>    
      <select> 
       <option value=""></option> 
       <option value=""></option> 
       <option value=""></option> 
      </select> 
     </td> 
    </tr> 
</table> 

とjQueryコード

$(document).ready(function() { 
    alert($("select:nth-child(n+2)").length); 
}); 

jsfiddle demo

jQuery 1.6.2; IE8(それを助けることはできません!);私はページレイアウトを作成するためにテーブルを使用していません。選択要素が同じ親を持っていないので、

答えて

1

あなたが望むすべてがすべてのselect要素であるが、最初のものは、その後だけでは動作しませんselect:gt(0)

理由:nth-child(n+2)を使用している場合があります。 :n番目の子は、同じ親の子を数えることに依存します。

これを見てみましょう:私はこの問題を回避するために使用したまさにです http://jsfiddle.net/petersendidit/MvkUP/1/

+0

おかげダビデを、。私はこの質問をして、なぜnth-child(n + 2)が機能しないのかを知るように頼んだ。 – Lobo

+0

@Lobo ':nth-​​child'が動作しない理由を示すために私の答えを更新しました – PetersenDidIt

+0

ありがとうございます。その答えは常に質問の中にあった - **子**!私はフィドルを更新しました、私は思う、[これは](http://jsfiddle.net/MvkUP/2/)それをより良く説明します。 – Lobo

関連する問題