Crear identificadores únicos con jQuery

Navegando por internet me encuentro con el blog I Hate Code, y mirando y mirando, me he encontrado con este post titulado Simple jQuery UID Plugin.

El objetivo que pretende conseguir su autor es asociar un identificador único a un determinado elemento de la página web, de tal forma que no se creen elementos duplicados.

Aunque lo ha complicado un poco (usando la fecha en milisegundos, y luego un número aleatorio), aquí va mi versión del asunto (porque reconozco que a veces esto es útil):

(function($){
 var _next_uid = 0; 
 $.fn.uid = function(prefix) {  
   return this.each(function() {
     this.id = (prefix || 'uid') + (_next_uid++);
     return $;
   });  
 };  
})(jQuery);

De esta forma, se pueden crear o asociar identificadores únicos a cuantos objetos se quiera. He aquí un pequeño ejemplo:

  // crear un elemento nuevo con un identificador único
  $("<div>contenido del div</div>").uid ('prefijo').appendTo ('body');
 
  // crear un elemento nuevo con un identificador único
  $("<div>contenido del div</div>").uid ().appendTo ('body');
 
  // asignar un identificador a todos los elementos 
  $(".className").uid ();

Reconozco que para hacerlo bien bien, habría que mirar si el identificador que se va a crear existe, y si existe incrementar el contador, pero bueno, esta es la versión “bien hecha” programada y testeada en 3 minutos.

Trackback URL

, , ,

13 Comments on "Crear identificadores únicos con jQuery"

Trackbacks

  1. [...] Crear identificadores únicos con jQuery [...]

  2. [...] (’prefijo’). … fique por dentro clique aqui. Fonte: [...]

  3. [...] bueno, esta es la versión “bien hecha” programada y testeada en 3 minutos. fique por dentro clique aqui. Fonte: ...

Hi Stranger, leave a comment:

ALLOWED XHTML TAGS:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Subscribe to Comments