2012-02-03 11 views
0
$('#quote_test_item_ids').removeAttr('disabled'); 

上記のremoveAttr(AttrName)は、最初に一致した要素#quote_test_item_idsの 'disabled'属性のみを削除します。 htmlページには複数の#quote_test_item_idsがあります。どのようにhtmlページの 'disabled'属性をすべて削除するのですか?jqueryの一致したすべての要素で一致する属性を削除するにはどうすればよいですか?

+5

2を持っていることは違法です同じIDを持つ要素。 IDは一意でなければなりません。 –

+0

@Alnitakでは、この文脈で「illegal」は完全に有効な単語です。法執行機関に適用されるだけではありません。 –

+2

@KirkWoll:私はそれが冗談であると思ったと思う=/ –

答えて

2

問題は、同じIDを持つ複数の要素があることです。それはノーではありません。 IDは一意であると考えられます。代わりに、クラスにそれらを変更し、その後、実行します。IDは一意である

$('.quote_test_item_ids').removeAttr('disabled'); 

ので、$('#quote_test_item_ids')(他の人があってはならないので)第一を返します。あなたはattribuiteセレクタを使用してビットをごまかすことができます。

$('[id="quote_test_item_ids"]').removeAttr('disabled'); 
+0

htmlタグselectを使用して、すべての属性 'disabled'が削除されました。クラスとID#で動作させることができませんでした。 htmlタグを使用すると、属性を簡単に削除できます。 \t \t $( '選択')それぞれ(関数(){ \t \t $(この).removeAttr)( '無効'; \t \t});ここでコードがあります。 – user938363

+0

'$( 'select')。removeAttr( 'disabled');'は少し速くなければなりません:-P –

+0

はい、$( 'select')は.each()がなくても、それぞれを選びます。 – user938363

1

あなたが「quote_test_item_ids」のdivのclass属性を作成する場合は、次の操作を行うことができます

$("div.quote_test_item_ids").removeAttr('disabled'); 
+0

あなたは 'each'は必要ありません。 'removeAttr'はセット内のすべての要素に対して作用します。 –

+0

タンク、私はあなたのコメントに従って答えを編集しました – Gigi

関連する問題