2011-09-26 28 views
10

Tôi có HTML như thế này:Di chuyển một yếu tố để cha mẹ khác sau khi thay đổi ID của nó

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

tôi muốn trích xuất các lĩnh vực đầu vào từ đó, thay đổi ID của nó và đặt nó trong một div khác.

Tôi có thể làm như thế nào? Nếu jQuery là cần thiết đó là okay, nhưng nếu nó có thể được mà không có mà sẽ là tuyệt vời.

Trả lời

19

Đó chắc chắn dễ dàng trong jQuery:

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

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

bản demo làm việc: http://jsfiddle.net/AndyE/a93Az/


Nếu bạn muốn làm điều đó trong ol đồng bằng' JS, nó vẫn còn khá đơn giản:

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

bản demo làm việc: http://jsfiddle.net/AndyE/a93Az/1/

+0

chỉ trong 1,6 + ... –

+0

@Royi: dễ dàng chuyển đến các phiên bản cũ, chỉ cần thay đổi 'prop() 'với' attr() '. –

+0

Chúng ta có nên chọn phiên bản jQuery mới nhất khi có thể không? – Dan

Các vấn đề liên quan