Foros del Web » Programando para Internet » Javascript »

id de elementos

Estas en el tema de id de elementos en el foro de Javascript en Foros del Web. Hola, bueno tengo una función que crea div's y su contenido, el dilema es que, cuando se se vuelve a ejecutar la función se supone ...
  #1 (permalink)  
Antiguo 26/05/2011, 12:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 11 meses
Puntos: 32
Pregunta id de elementos

Hola,
bueno tengo una función que crea div's y su contenido, el dilema es que, cuando se se vuelve a ejecutar la función se supone que ahora hay otro div y su contenido, y se le asigna los ids de cada div, pero el id es único, el segundo creado se muestra y deja al primero en blanco.

como puedo asignar dinamicamente una secuencia de id

ejemplo
-> se ejecuta la función y asigna los div el id: padre_1 , hijo_1, hijo2_1,hijo3_1
-> se vuelve a ejecutar la función y asigna los div el id: padre_2 , hijo_2, hijo2_2,hijo3_2
  #2 (permalink)  
Antiguo 26/05/2011, 12:45
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: id de elementos

Fijate si te sirve esto:
Código Javascript:
Ver original
  1. /**
  2.  * Genera un id unico basado en un seed interno
  3.  * autoincremental
  4.  *
  5.  * El argumento prefix es opcional e indica el prefijo
  6.  * que se antepondra al id
  7.  *
  8.  * @author Aijoona
  9.  * @param {String} prefix
  10.  * @return {String}
  11.  */
  12. var uid = (function() {
  13.     var seed = 0;
  14.     return function uid(prefix) {
  15.         var id = prefix + (++seed).toString();
  16.         if(!document.getElementById(id)) {
  17.             return id;
  18.         }
  19.         return uid(prefix);
  20.     }
  21. })();
  22.  
  23. uid('padre_'); // "padre_1"
  24. uid('padre_'); // "padre_2"
  25.  
  26. uid(); // "3"
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 26/05/2011, 12:48
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: id de elementos

No sé si entendí bien. Algo así?
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin t&#237;tulo</title>
<script type="text/javascript">
var 
createDiv=function(n){
    return function(){
        var 
d=document.createElement('div');
        
d.style.background='#F00';
        
d.style.color='#FFF';
        
d.style.marginBottom='1px';
        
d.id='d'+(++n);
        
d.innerHTML=d.id;//aquí el html que quieras, con elementos cuyos ids, pueden estar relacionados con n
        
document.body.appendChild(d);
        
d=null;
    }
}(
0);
onload=function(){
    
createDiv();
    
createDiv();
    
createDiv();
}
</script>

</head>

<body>
</body>
</html> 
Edito: llegué tarde :)
  #4 (permalink)  
Antiguo 26/05/2011, 12:59
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: id de elementos

Parecido igual :p

Me corrijo:

Código Javascript:
Ver original
  1. var uid = (function() {
  2.     var seed = 0;
  3.     return function uid(prefix) {
  4.         var id = (prefix || id) + (++seed).toString();
  5.         if(!document.getElementById(id)) {
  6.             return id;
  7.         }
  8.         return uid(prefix);
  9.     }
  10. })();
  11.  
  12. uid('padre_'); // "padre_1"
  13. uid('padre_'); // "padre_2"
  14.  
  15. uid(); // "3"
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 26/05/2011, 13:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 11 meses
Puntos: 32
Respuesta: id de elementos

dos planteamientos distintos dos soluciones = ..XD

básicamente eso es pero el detalle esta en, pongo un ejemplo ->
Cita:
-> padre_1
-> hijo1_1
-> hijo2_1
-> hijo3_1

-> padre_2
-> hijo1_2
-> hijo2_2
-> hijo3_2
.....
NO HAY PROBLEMA TEMA CERRADO YA LO HICE ... XD
.. grasias

Etiquetas: elementos, ids
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.