2

jQuery を使用して、ページ内の要素の 1 つである div の ID を変更し、新しい ID を付与したいと考えています。クラスを使用できません。ID でなければなりません。これは IF ステートメントの一部になります。例: (pseudo:)

x = 1 より大きい場合、x の id を y に変更します。それ以外の場合は何もしません。

これまでのところ、私は持っています:

$('#carriage-promo').attr('id','#carriage-promo-2');

ただし、これは機能しないようです。助言がありますか?

私は ID を使用したことがなく、常にクラスを使用していました。過去には常に機能していた addClass と removeClass を使用していました

4

4 に答える 4

6
$('#carriage-promo').attr('id','#carriage-promo-2');

の必要はありません#。だから外して

$('#carriage-promo').attr('id','carriage-promo-2');

または.prop()を使用できます

$('#carriage-promo').prop('id','carriage-promo-2');

jsperfで実行テスト ケースを参照してください。

ここにサンプルのフィドルがあります

于 2013-09-05T08:08:43.847 に答える
1

更新したい文字列を適用するだけです。

$('#carriage-promo').attr('id','carriage-promo-2');

'#' 要素を選択する理由 は、具体的にId

ID は DOM 固有であり、# Jquery 固有です。

于 2013-09-05T08:10:44.160 に答える
1

の必要はありません。ID を#使用してください:

$('#carriage-promo').attr('id','carriage-promo-2');

より良い使用prop()Jquery v1.6 以降では、いくつかの変更がattr()ありprop()ました。

$('#carriage-promo').prop('id','carriage-promo-2');

prop()プロパティ用でattr()あり、属性用です。

于 2013-09-05T08:11:14.103 に答える