web-dev-qa-db-ja.com

jQueryのaddID?

クラスを追加するためにあるような、addClass()のようなIDを追加するためのセレクタはありますか?

80
3zzy

IDは属性です。 attr 関数で設定できます:

$(element).attr('id', 'newID');

要素の識別子は1つのみで、この識別子は一意である必要があるため、IDの追加の意味についてはわかりません

172
CMS

方法を意味しますか?

$('div.foo').attr('id', 'foo123');

同じIDに複数の要素を設定しないように注意してください。

13
scunliffe

このような :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. 実際のIDを取得する
  2. アクチュエルIDを入力して、新しいIDを追加します
9
Sylvain

以前、@ scunliffesの懸念に対処するこのようなものを使用しました。クラス(この場合は.button)を持つアイテムのすべてのインスタンスを検索し、IDを割り当て、そのインデックスをid名に追加します。

$(".button").attr('id', function (index) {
        return "button-" + index;
});

したがって、ページに.buttonというクラス名の3つのアイテムがあるとします。その結果、「ボタン」のクラスに加えて、それらすべてに一意のIDが追加されます。

この場合、それぞれ#button-0、#button-1、#button-2です。これは非常に便利です。最初の行の「.button」をターゲットにするクラスに置き換え、returnステートメントの「button」を一意のIDにしたいものに置き換えます。お役に立てれば!

1
Danny Dickson