2011-09-26 9 views
10

tengo HTML así:mover un elemento a otro padre después de cambiar su ID de

<span class="file-wrapper" id="fileSpan"> 
    <input type="file" name="photo[]" id="photo" /> 
    <span class="button">Click to choose photo</span> 
</span> 

Quiero extraer el campo de entrada a partir de ahí, cambiar su ID y ponerlo en otro div.

¿Cómo puedo hacer eso? Si se necesita jQuery, está bien, pero si puede ser sin eso sería genial.

Respuesta

19

Es ciertamente fácil en jQuery:

// jQuery 1.6+ 
$("#photo").prop("id", "newId").appendTo("#someOtherDiv"); 

// jQuery (all versions) 
$("#photo").attr("id", "newId").appendTo("#someOtherDiv"); 

demostración de trabajo: http://jsfiddle.net/AndyE/a93Az/


Si desea hacerlo en ol llano' JS, todavía es bastante simple:

var photo = document.getElementById("photo"); 
photo.id = "newId"; 
document.getElementById("someOtherDiv").appendChild(photo); 

demostración de trabajo: http://jsfiddle.net/AndyE/a93Az/1/

+0

sólo en 1.6 + ... –

+0

@Royi: fácilmente portado a las versiones anteriores, solo cambia 'prop()' a 'attr()'. –

+0

¿No deberíamos optar por la versión más nueva de jQuery cuando sea posible? – Dan

Cuestiones relacionadas