91 votes

addID dans jQuery ?

Existe-t-il une méthode pour ajouter des ID comme il en existe une pour ajouter une classe - addClass() ?

0 votes

AddClass() n'est pas un sélecteur. Un sélecteur est quelque chose que l'on définit comme élément(s) avant de faire quelque chose avec/vers lui. addClass() est une méthode, quelque chose qui a une action sur quelque chose.

1 votes

Pouvez-vous remplacer le mot "selector" par "functionnality" dans votre question ?

0 votes

Duplicata possible de Ajout d'un attribut dans jQuery

192voto

CMS Points 315406

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

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

Je ne suis pas sûr de ce que vous voulez dire par l'ajout d'identifiants puisqu'un élément ne peut avoir qu'un seul identifiant et que cet identifiant doit être unique.

1 votes

Je ne suis pas sûr que cela réponde à la question. Cela n'ajoute pas un identifiant, mais en définit un, ce qui peut faire une grande différence si vous utilisez des identifiants dynamiques.

0 votes

Mon interprétation de la question : regarder un <div> il n'y a pas d'identifiant, et si pour une raison quelconque vous ne pouvez pas ajouter l'identifiant à la main, vous pouvez automatiser l'ajout d'un identifiant avec Javascript/jQuery.

13voto

scunliffe Points 30964

Vous voulez dire une méthode ?

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

Veillez simplement à ne pas attribuer le même ID à plusieurs éléments.

9voto

Sylvain Points 21

Comme ceci :

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

0 votes

Je ne suis pas sûr que c'est ce que l'OP voulait... mais plus important encore, il ne peut y avoir qu'un seul. id valeur de l'attribut. Plus précisément, les spécifications d'un id indique clairement qu'il peut pas contiennent des espaces : w3.org/TR/html401/types.html#type-name

3voto

Danny Dickson Points 11

J'ai déjà utilisé quelque chose comme ça qui répond à la préoccupation de @scunliffes. Il trouve toutes les instances d'éléments ayant une classe de (dans ce cas, .button), leur attribue un ID et ajoute son index au nom de l'id :

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

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

Dans ce cas, #button-0, #button-1, #button-2, respectivement. Cela peut s'avérer très pratique. Remplacez simplement ".button" dans la première ligne par la classe que vous souhaitez cibler, et remplacez "button" dans l'instruction de retour par l'ID unique que vous souhaitez obtenir. J'espère que cela vous aidera !

0voto

Con Antonakos Points 88

Je ne pense pas qu'il existe un tel nom de méthode.

Depuis la version 1.6 de jQuery, je crois que la syntaxe préférée pour ajouter un "id" à un élément jQuery est désormais la suivante $(element).prop('id', 'INSERT ID NAME') .

.prop() vs .attr()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X