2011-09-26 22 views
10

ho HTML come questo:Spostare un elemento ad un altro genitore dopo aver cambiato il suo ID

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

Voglio estrarre il campo di input da lì, cambiare il suo ID e metterlo in un altro div.

Come posso farlo? Se jQuery è necessario va bene, ma se può essere senza sarebbe fantastico.

risposta

19

E 'certamente facile in jQuery:

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

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

demo di lavoro: http://jsfiddle.net/AndyE/a93Az/


Se si vuole fare in pianura ol' JS, è ancora abbastanza semplice:

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

demo di lavoro: http://jsfiddle.net/AndyE/a93Az/1/

+0

solo in 1.6 + ... –

+0

@Royi: facilmente portato su versioni precedenti, basta cambiare 'prop()' a 'attr()'. –

+0

Non dovremmo optare per la versione più recente di jQuery quando possibile, comunque? – Dan

Problemi correlati