2017-01-13 3 views
0

セレクタの配列の配列からattr()を呼び出そうとしていますが、メソッドが存在しないことを示しています。配列アイテムをキャストする必要があると思いますが、これを行う方法はわかりません。アトリビュートのセレクタからの個々のアイテムに対してattr()を使用するための構文

$("input:radio[id$=Product]")[0].attr('checked', true); 

エラーは、「オブジェクトが 『ATTRを』プロパティまたはメソッドをサポートしていません」です。

+0

$( '確認'、TRUE)( "入力:ラジオ[IDの$ =商品] EQ(0)")ATTR。 –

+0

'$(" input:radio [id $ = Product] ")'が何かにマッチしていますか?無効なセレクタのように見える – bassxzero

+0

要素にIDがある場合は、それを使用してください。 – putvande

答えて

4

この式で評価されるオブジェクトのタイプには特に注意してください:$("input:radio[id$=Product]")[0]。これはjQueryオブジェクトではないため、jQueryメソッドはありません。

一つの解決策:

$($("input:radio[id$=Product]")[0]).attr('checked', true) 

別の解決策(より良い、私は思う):

$("input:radio[id$=Product]").first().attr('checked', true) 
+0

パーフェクト!私は今日学んだことがあります。ありがとう。 :) – CodeBank

0
:最初のものだけに要素のセットを減らすために first()を使用してjQueryオブジェクトでそれを包みます

問題は[0]となり、jqueryには:firstというオプションがあります。つまり、 $("input:radio[id$=Product]:first")です。これはおそらくトリックです。 。

$("input:radio[id$=Product]:first").attr('checked', true);

関連する問題