jQuery sélectionner tous les éléments avec le même ID
Je sais que je suis mauvais, je sais ID est unique, et j'ai besoin de le fixer à grande échelle sur un ensemble de pages.
Je ne sais pas ce que sont ces ID, je ne connais que de classe, donc est-il possible de toute façon ne
$('.someClass').itemsThatHasIdDuplicate().each(function(){
$(this).attr('id', Math.random()); //its stupid to use random for ID, but shows what I mean
});
ps. J'ai trouvé cette, mais cela suppose que vous savez ce que l'ID est.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela en utilisant la
.attr( nom de l'attribut, function(index, attr) )
:Démo: Violon
Tout d'abord ajouter un peu de classe à tous les éléments ayant le même id.
et puis changer l'id de tous les éléments ayant la classe...
FYI: je vous suggère de date de prélèvement de temps pour l'affectation d'id plutôt que d'utiliser
math.random()
Ce que vous pouvez faire est de parcourir tous les éléments de cette classe et de groupe de ces éléments avec le même ID. Modifiez ensuite ces groupes, avec plus d'un élément:
Les "avantages" de cette méthode est que vous êtes à la recherche du document qu'une seule fois, au début avec
$('.someClass')
.Vous avez à faire assurez-vous de ne pas écraser l'original ID
De cette façon, vous savez aussi ce que la première occurrence de chaque ID est.
http://jsfiddle.net/g2DWR/1/
Edit: aussi, dans un plugin de formulaire de sorte que vous pouvez de la chaîne d'elle
$('.foo').fixDupes().css('color', 'red');