web-dev-qa-db-fra.com

addID dans jQuery?

Existe-t-il un sélecteur disponible pour ajouter des ID, comme pour ajouter une classe - addClass ()?

80
3zzy

ID est un attribut, vous pouvez le définir avec la fonction attr :

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

Je ne suis pas sûr de comprendre ce que vous entendez par en ajoutant des ID puisqu'un élément ne peut avoir qu'un seul identifiant et que cet identifiant doit être unique.

172
CMS

tu veux dire une méthode?

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

Veillez simplement à ne pas définir plusieurs éléments avec le même ID.

13
scunliffe

Comme ça :

var id = $('div.foo').attr('id');
$('div.foo').attr('id', id + ' id_adding');
  1. obtenir l'identification réelle
  2. mettre actuel ID et ajouter le nouveau
9
Sylvain

J'ai déjà utilisé quelque chose comme ceci auparavant qui répond aux préoccupations de @scunliffes. Il trouve toutes les occurrences d’éléments avec une classe de (dans ce cas .button), attribue un ID et ajoute son index au nom de l’identifiant:

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

Alors disons que vous avez 3 éléments avec le nom de classe de .button sur une page. Le résultat serait d'ajouter un identifiant unique à chacun d'entre eux (en plus de leur classe de "bouton").

Dans ce cas, # button-0, # button-1, # bouton-2, respectivement. Cela peut être très utile. Remplacez simplement ".button" dans la première ligne par la classe que vous souhaitez cibler, et remplacez "button" dans l'instruction de retour par celui que vous souhaitiez pour votre ID unique. J'espère que cela t'aides!

1
Danny Dickson