addID в jQuery?

87

Есть ли какой-либо метод для добавления идентификаторов, например, для добавления класса - addClass ()?

эоззи
источник
addClass () не является селектором. Селектор - это что-то, что определяется как элемент (ы), прежде чем что-то делать с ним. addClass () - это метод, что-то, что имеет действие на что-то.
Phish
1
Можете ли вы заменить слово «селектор» на «функциональность» в своем вопросе?
Милче Патерн
Возможный дубликат добавления атрибута в jQuery
Макьен

Ответы:

183

ID - это атрибут, вы можете установить его с помощью функции attr :

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

Я не уверен, что вы имеете в виду, говоря о добавлении идентификаторов, поскольку элемент может иметь только один идентификатор, и этот идентификатор должен быть уникальным.

Кристиан К. Сальвадо
источник
1
Я не знаю, как это ответить на вопрос. Это не добавляет идентификатор, он устанавливает его, что может иметь большое значение, если вы используете динамические идентификаторы
Ian S
Моя интерпретация вопроса: глядя на <div>идентификатор, нет, и если по какой-либо причине вы не можете добавить идентификатор вручную, вы можете автоматизировать добавление идентификатора с помощью Javascript / jQuery.
PJ Brunet
13

ты имеешь ввиду метод?

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

Только будьте осторожны и не устанавливайте для нескольких элементов один и тот же идентификатор.

Scunliffe
источник
9

Как это :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. получить действительный идентификатор
  2. поставьте actuel ID и добавьте новый
Сильвен
источник
Я не уверен, что это то, что хотел OP ... но, что более важно, может быть только idодно значение атрибута. В частности, в спецификациях для idатрибута четко указано, что он не может содержать пробелов: w3.org/TR/html401/types.html#type-name
scunliffe
1

Я использовал что-то подобное раньше, что касается проблемы @scunliffes. Он находит все экземпляры элементов с классом (в данном случае .button), назначает идентификатор и добавляет свой индекс к имени идентификатора:

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

Допустим, у вас есть 3 элемента с именем класса .button на странице. В результате всем им будет добавлен уникальный идентификатор (в дополнение к их классу «кнопка»).

В данном случае # button-0, # button-1, # button-2 соответственно. Это может быть очень кстати. Просто замените «.button» в первой строке любым классом, на который вы хотите настроить таргетинг, и замените «button» в операторе возврата на любой уникальный идентификатор, который вам нужен. Надеюсь это поможет!

Дэнни Диксон
источник