Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/06/2014, 22:50
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Problemas con this al clonar un objeto

Cita:
Iniciado por Alexis88 Ver Mensaje
¿Te has dado cuenta de que intentas pasar el id del enlace pero este no tiene uno?
Si lo tiene... que pena no haber posteado la funcion que se lo coloca

Ahi mismo aplique un "parche" de lo mas asqueroso..... hardcodeo el href por el problema de que this no hace referencia a lo que imagino y el motivo de la consulta:

Código Javascript:
Ver original
  1. function add_param()
  2.     {
  3.         returns = document.getElementsByName("return");
  4.        
  5.         if (returns.length<15)
  6.         {  
  7.             var div = document.getElementById("cloname");
  8.             var insert_pt = document.getElementById("add_after");
  9.        
  10.             cont_clones++;
  11.        
  12.             newNode=div.cloneNode(true); // appendChild(document.createElement("br"))
  13.             newNode.firstElementChild.parentElement.id = 'clon_'+cont_clones;
  14.             newNode.firstElementChild.nextElementSibling.id='remove_clon_'+cont_clones;  // enlace
  15.  
  16.             // PARCHE ASQUEROSO: //////////      
  17.             newNode.firstElementChild.nextElementSibling.href="javascript:delete_me("+'remove_clon_'+cont_clones+");";
  18.            
  19.             insertAfter(insert_pt,newNode);            
  20.        
  21.             document.getElementById("min_param").value = returns.length+1;
  22.             coherencia_params();
  23.            
  24.            
  25.         }
  26.     }

Al examinar el DOM generado y eso SIN APLICAR EL PARCHE DEL "HREF" ..... *si* se ven los IDs de los <A>, copio y pego desde la consola:

Código HTML:
Ver original
  1. <div id="clon_5">
  2.                 <select name="return[]" style="width:73px;">
  3.                     <option value="NULL">NULL</option> 
  4.                     <option value="boolean">boolean</option>
  5.                     <option value="number">number</option>
  6.                     <option value="resource">resource</option>
  7.                     <option value="string">string</option> 
  8.                     <option value="array">array</option>
  9.                     <option value="object">object</option> 
  10.                     <option value="mixed">mixed*</option>
  11.                 </select>
  12.                 <a href="javascript:delete_me(remove_clon_5);" class="no_decorar" title="delete it" id="remove_clon_5">[x]</a>
  13.             </div>

El problema realmente es "conceptual" y tiene que ver con la definicio de THIS en este lenguaje tan "raro" para un "PHP guy"
__________________
Salu2!

Última edición por Italico76; 10/06/2014 a las 22:57