3

配列の最初の要素に効果を適用しようとしていますが、次のエラーが表示されます。

$(...)[0].hide is not a function

これが私のコードです:

var contain = $('.commentFormContainer');
(contain.length >= 2 ) ? contain[0].hide();
4

1 に答える 1

8

jQuery オブジェクトを取得するには、eq()を使用する必要があります。インデクサーはDOMオブジェクトを提供するため使用できず、非表示を呼び出すことはできません。

contain.eq(0).hide(); 

または、セレクターで:eqを使用できます。

$('.commentFormContainer:eq(0)').hide();

JavaScript 配列は 0 ベースのインデックスを使用するため、これらのセレクターはその事実を反映していることに注意してください。これが、 $('.myclass:eq(1)') がドキュメント内の最初の要素ではなく、クラス myclass を持つ 2 番目の要素を選択する理由です。対照的に、 :nth-child(n) は 1 ベースのインデックスを使用して、CSS 仕様のReferenceに準拠します。

于 2013-07-19T14:49:18.997 に答える