Générer des identifiants HTML uniques avec JavaScript

Concept et utilisation

La fonction JavaScript strUID() permet de générer des identifiants HTML uniques dans une page Web.

Pour éviter d'utiliser des chaines de caractères aléatoires qui pourraient être dupliquées, la fonction génère une chaine de caractères suivi d'un nombre incrémenté à chaque génération et vérifie qu'aucun élément dans la page n'a cet identifiant.

Fonction

strUID()

Retourne un identifiant HTML unique.

Syntaxe
strUID(prefixe);
Paramètre
prefixe(String)

Le paramètre prefixe de la fonction strUID() définit un préfixe optionnel pour les identifiants générés.
Si ce paramètre est omis, le préfixe par défaut "uid" sera utilisé.

Exemple de génération d'identifiants unique

var prefixe = 'prefixe';

strUID(prefixe); // renvoie : "prefixe_1"
strUID(prefixe); // renvoie : "prefixe_2"

Code source de la fonction

(function(w){
  var u = {};
  w.strUID = function(a){
    if (!(typeof a === 'string' && a!=='')) {
      a = 'uid';
    }
    if (typeof u[a] === 'undefined') {
      u[a] = 0;
    }
    u[a]++;
    var b = a + '_' + u[a];
    if (document.getElementById(b)) {
      b = w.strUID(a);
    }
    return b;
  };
})(window);
^