addID en jQuery?

87

¿Hay algún método disponible para agregar ID como para agregar una clase - addClass ()?

eozzy
fuente
addClass () no es un selector. Un selector es algo que se define como elemento (s) antes de hacer algo con él. addClass () es un método, algo que tiene una acción sobre algo.
Phish
1
¿Puede reemplazar la palabra 'selector' por 'funcionalidad' en su pregunta?
Milche Patern
Posible duplicado de agregar atributo en jQuery
Makyen

Respuestas:

183

ID es un atributo, puede configurarlo con la función attr :

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

No estoy seguro de lo que quiere decir con agregar ID, ya que un elemento solo puede tener un identificador y este identificador debe ser único.

Christian C. Salvadó
fuente
1
No estoy seguro de cómo esto responde a la pregunta. Esto no agrega una identificación, establece una, lo que puede ser una gran diferencia si está utilizando identificaciones dinámicas
Ian S
Mi interpretación de la pregunta: mirando a <div>no hay ID, y si por alguna razón no puede agregar la identificación a mano, es posible que desee automatizar la adición de una ID con Javascript / jQuery.
PJ Brunet
13

¿te refieres a un método?

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

Solo tenga cuidado de no configurar varios elementos con el mismo ID.

scunliffe
fuente
9

Me gusta esto :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. obtener una identificación real
  2. poner ID de actuel y agregar el nuevo
Sylvain
fuente
No estoy seguro de que esto sea lo que quería el OP ... pero lo que es más importante, solo puede haber 1 idvalor de atributo. Más concretamente, las especificaciones para un idatributo indican claramente que puede no contener espacios: w3.org/TR/html401/types.html#type-name
scunliffe
1

He usado algo como esto antes que aborda la preocupación de @scunliffes. Encuentra todas las instancias de elementos con una clase de (en este caso .button), asigna una ID y agrega su índice al nombre de la ID:

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

Entonces, digamos que tiene 3 elementos con el nombre de clase de .button en una página. El resultado sería agregar un ID único a todos ellos (además de su clase de "botón").

En este caso, # botón-0, # botón-1, # botón-2, respectivamente. Esto puede resultar muy útil. Simplemente reemplace ".button" en la primera línea con cualquier clase a la que desee apuntar, y reemplace "button" en la declaración de retorno con lo que desee que sea su ID único. ¡Espero que esto ayude!

Danny Dickson
fuente