addID in jQuery?


87

Esiste un metodo disponibile per aggiungere ID come per l'aggiunta di una classe - addClass ()?


addClass () non è un selettore. Un selettore è qualcosa che definisce come elemento (i) prima di fare qualcosa con / con esso. addClass () è un metodo, qualcosa che ha un'azione su qualcosa.
Phish

1
puoi sostituire la parola "selettore" con "funzionalità" nella tua domanda?
Milche Patern

Possibile duplicato
dell'aggiunta

Risposte:


184

L'ID è un attributo, puoi impostarlo con la funzione attr :

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

Non sono sicuro di cosa intendi per l' aggiunta di ID poiché un elemento può avere solo un identificatore e questo identificatore deve essere univoco.


1
Non sono sicuro di come questo risponda alla domanda. Questo non aggiunge un ID, ne imposta uno, il che può fare una grande differenza se stai usando ID dinamici
Ian S

La mia interpretazione della domanda: guardando un <div>ID non c'è e se per qualsiasi motivo non puoi aggiungere l'ID manualmente, potresti voler automatizzare l'aggiunta di un ID con Javascript / jQuery.
PJ Brunet

13

intendi un metodo?

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

Fai solo attenzione a non impostare più elementi sullo stesso ID.


9

Come questo :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. ottenere l'ID effettivo
  2. inserisci l'ID effettivo e aggiungi quello nuovo

Non sono sicuro che questo sia ciò che l'OP voleva ... ma ancora più importante può esserci solo 1 idvalore di attributo. Più specificamente le specifiche di un idattributo indicano chiaramente che potrebbe non contenere spazi: w3.org/TR/html401/types.html#type-name
scunliffe

1

Ho usato qualcosa di simile prima che affronti la preoccupazione di @scunliffes. Trova tutte le istanze di elementi con una classe di (in questo caso .button) e assegna un ID e aggiunge il suo indice al nome dell'ID:

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

Supponiamo quindi di avere 3 elementi con il nome della classe .button su una pagina. Il risultato sarebbe l'aggiunta di un ID univoco a tutti loro (oltre alla loro classe di "pulsante").

In questo caso, rispettivamente # button-0, # button-1, # button-2. Questo può tornare molto utile. Sostituisci semplicemente ".button" nella prima riga con la classe che desideri targetizzare e sostituisci "button" nell'istruzione return con qualunque cosa desideri che sia il tuo ID univoco. Spero che sia di aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.