addID w jQuery?

87

Czy jest dostępna metoda dodawania identyfikatorów, jak na przykład dodawanie klasy - addClass ()?

eozzy
źródło
addClass () nie jest selektorem. Selektor jest czymś, co definiuje się jako element (y) przed zrobieniem czegoś z nim. addClass () to metoda, coś, co ma na coś akcję.
Phish
1
czy w pytaniu możesz zamienić słowo „selector” na „funkcjonalność”?
Milche Patern
Możliwy duplikat atrybutu Adding w jQuery
Makyen

Odpowiedzi:

183

ID to atrybut, możesz go ustawić za pomocą funkcji attr :

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

Nie jestem pewien, co masz na myśli, mówiąc o dodawaniu identyfikatorów, ponieważ element może mieć tylko jeden identyfikator, a ten identyfikator musi być unikalny.

Christian C. Salvadó
źródło
1
Nie jestem pewien, jak to odpowiada na pytanie. To nie dodaje identyfikatora, tylko go ustawia, co może być dużą różnicą, jeśli używasz dynamicznych identyfikatorów
Ian S
Moja interpretacja pytania: patrząc na <div>nie ma identyfikatora i jeśli z jakiegoś powodu nie możesz dodać identyfikatora ręcznie, możesz chcieć zautomatyzować dodawanie identyfikatora za pomocą Javascript / jQuery.
PJ Brunet
13

masz na myśli metodę?

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

Uważaj tylko, aby nie ustawić wielu elementów na ten sam identyfikator.

scunliffe
źródło
9

Lubię to :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. uzyskać rzeczywisty identyfikator
  2. umieść identyfikator aktualnego i dodaj nowy
Sylvain
źródło
Nie jestem pewien, czy tego chciał OP ... ale co ważniejsze, może istnieć tylko 1 idwartość atrybutu. Dokładniej, specyfikacja idatrybutu wyraźnie wskazuje, że może on nie zawierać spacji: w3.org/TR/html401/types.html#type-name
scunliffe
1

Wcześniej użyłem czegoś takiego, co rozwiązuje problem @scunliffes. Znajduje wszystkie wystąpienia elementów z klasą (w tym przypadku .button), przypisuje identyfikator i dodaje jego indeks do nazwy identyfikatora:

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

Powiedzmy, że masz na stronie 3 elementy z nazwą klasy .button. Rezultatem byłoby dodanie unikalnego identyfikatora do wszystkich z nich (oprócz ich klasy „przycisku”).

W tym przypadku odpowiednio # przycisk-0, # przycisk-1, # przycisk-2. Może się to bardzo przydać. Po prostu zamień „.button” w pierwszym wierszu na dowolną klasę, na którą chcesz kierować, i zamień „przycisk” w instrukcji return na taki, jaki chcesz, aby był to Twój unikalny identyfikator. Mam nadzieję że to pomoże!

Danny Dickson
źródło