Existe algum método disponível para adicionar IDs, como existe para adicionar uma classe - addClass ()?
Existe algum método disponível para adicionar IDs, como existe para adicionar uma classe - addClass ()?
Respostas:
ID é um atributo, você pode defini-lo com a função attr :
$(element).attr('id', 'newID');
Não tenho certeza do que você quer dizer sobre adicionar IDs, pois um elemento pode ter apenas um identificador e esse identificador deve ser exclusivo.
<div>
não há ID e, se por algum motivo você não puder adicionar o ID manualmente, convém automatizar a adição de um ID com Javascript / jQuery.
Como isso :
var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
id
valor de atributo. Mais especificamente, as especificações de um id
atributo indicam claramente que ele não pode conter espaços: w3.org/TR/html401/types.html#type-name
Eu usei algo assim antes, que aborda a preocupação de @scunliffes. Ele encontra todas as instâncias de itens com uma classe de (neste caso .button), atribui um ID e anexa seu índice ao nome do id:
$(".button").attr('id', function (index) {
return "button-" + index;
});
Digamos que você tenha 3 itens com o nome de classe .button em uma página. O resultado seria adicionar um ID exclusivo a todos eles (além de sua classe de "botão").
Neste caso, # botão-0, # botão-1, # botão-2, respectivamente. Isso pode ser muito útil. Simplesmente substitua ".button" na primeira linha por qualquer classe que você deseja segmentar e substitua "button" na instrução return pelo que você gostaria que seu ID exclusivo fosse. Espero que isto ajude!