addID у jQuery?


87

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


addClass () не є селектором. Селектор щось визначає як елемент (и) перед тим, як робити щось із ним. addClass () - це метод, щось, що впливає на щось.
Фіш

1
чи можете ви замінити слово "селектор" на "функціональність" у своєму питанні?
Мілче Патерн

Можливий дублікат додавання атрибута в jQuery
Makyen

Відповіді:


183

ID - це атрибут, ви можете встановити його за допомогою функції attr :

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

Я не впевнений, що ви маєте на увазі щодо додавання ідентифікаторів, оскільки елемент може мати лише один ідентифікатор, і цей ідентифікатор повинен бути унікальним.


1
Я не впевнений, як це відповідає на запитання. Це не додає ідентифікатор, він встановлює його, що може бути великою різницею, якщо ви використовуєте динамічні ідентифікатори
Ian S

Моя інтерпретація питання: дивлячись на <div>відсутність ідентифікатора, і якщо з якоїсь причини ви не можете додати ідентифікатор вручну, ви можете автоматизувати додавання ідентифікатора за допомогою Javascript / jQuery.
PJ Brunet

13

ви маєте на увазі метод?

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

Тільки будьте обережні, щоб не встановити кілька елементів для одного ідентифікатора.


9

Подобається це :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. отримати фактичний посвідчення особи
  2. поставте ідентифікатор актуеля та додайте новий

Я не впевнений, що цього хотів ОП ... але, що важливіше, може бути лише 1 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" у операторі return тим, яким ви хочете, щоб був ваш унікальний ідентифікатор. Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.