jQueryのaddID?


87

クラスを追加するためにあるように、IDを追加するために利用可能なメソッドはありますか-addClass()?


addClass()はセレクタではありません。セレクターとは、何かとやり取りする前に要素として定義するものです。addClass()はメソッドであり、何かに対してアクションを持つものです。
フィッシュ

1
あなたの質問の「機能」を「セレクタ」という単語に置き換えることができますか?
Milche Patern

回答:


183

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

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

要素は1つの識別子しか持つことができず、この識別子は一意である必要があるため、IDの追加について何を言っているのかわかりません。


1
これがどのように質問に答えるかはわかりません。これはIDを追加するのではなく、IDを設定します。動的IDを使用している場合は、大きな違いになる可能性があります
Ian S

私の質問の解釈:<div>IDがないことを見て、何らかの理由で手動でIDを追加できない場合は、Javascript / jQueryを使用してIDを自動的に追加することをお勧めします。
PJ Brunet

13

メソッドを意味しますか?

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

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


9

このような :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. 実際のIDを取得
  2. Actuel IDを入力して、新しいIDを追加します

これがOPに必要なものかどうかはわかりませんが、重要なのは、id属性値が1つしか存在できないことです。具体的にのためのスペックid属性が明確にそれは可能性があることを示していないスペースが含まれていますw3.org/TR/html401/types.html#type-name
scunliffe

1

私は以前に@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にしたいものに置き換えます。お役に立てれば!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.