2011-07-17 16 views
0

このコードの問題点は何ですか? .removeAttrでは動作しません。おかげjQuery attrエラー

var current = 0; 
$("div#choice")[current].removeAttr("style"); 
+1

何をしようとしていますか?あなたのHTMLは何ですか?何が効いていないのですか? – Brad

+0

非配列の 'foo [0]'構文は 'foo.0'と等価です。すなわち、" 0 "というオブジェクトプロパティを取得しています。 –

+0

配列の場合と同じですが、どちらの場合でも 'foo.0'は有効な構文ではありません。 – user113716

答えて

1

removeAttrは、jQueryの方法ではなく、ネイティブのDOMメソッドです。

$("div#choice").eq(current).removeAttr("style"); 

あなたはあなたのjQueryオブジェクトに包まれた要素を与えるeq()[docs]方法を、使用してインデックスによって取得することができます。

+1

IDで何かをつかんでも「現在」がそこにあるのかどうかはわかりません。私は問題が深刻になると推測しています。 – Sinetheta

+0

@Sinetheta:はい、良い点は、そのIDを持つ要素が1つだけあることです。私はこれが単なる例であり、実際のコードではないと推測しています。エラーの原因は私の答えのポイントです。 – user113716

+0

素晴らしい!助けてくれてありがとう。 eq()はちょうど私が探していたものでした。 –

2

あなたはおそらくこれをしたい:

$("div#choice").removeAttr("style"); 

あなたがIDを使用しているので、あなたのセレクタだけとにかく一つの項目に一致します。

あなたが複数の要素にマッチしていた場合、あなたができる:

$("div.choice:first").removeAttr("style"); 
+0

OK、それはそういうものだと思った。ありがとう! –