2011-06-28 23 views
9

Bir HTML etiketini bir div etiketinde saklamak için bir değişkene sahip olmaya çalışıyorum, ancak var a = $('div').html() kullanmak, div içinde bulunan giriş etiketlerinin değerlerini saklamıyor.jQuery: HTML yanı sıra giriş değerlerini de alın

Yani, sorum şu: HTML ve kayıt seçeneklerinden ve jQuery kullanarak bir girdi için girdi etiketlerinin değerlerini kaydetmeye nasıl başlamalıyım? İşte

bazı örnek kod şudur:

HTML:

<div> 
    <p>Some Text</p> 
    <select name="word"> 
    <option value="1">Placeholder 1</option> 
    <option value="2">Placeholder 2</option> 
    </select> 
    <input type="text" /> 
</div> 

JavaScript: önceden

/* "a" should also have the user values, such that when I use $('body').append(a), 
it has the same user input as the div. */ 

var a = $('div').html(); 

teşekkürler.

cevap

19

Öğe $.clone() öğesi olabilir.

var $a = $("div:first").clone(); 

$a.appendTo("body"); // Clone invades your body 

Çevrimiçi Demo: Bu kullanarak HTML çıkarabilir

$('div input').each(function(){ 
    $(this).keyup(function(){ 
     $(this).attr('value',$(this).val()); 
    }); 
}); 

bundan sonra: http://jsbin.com/obebov/edit

+0

Teşekkürler! Tamamen .clone() 'ı unuttum. Sadece test ettim, harika çalışıyor. – Ivan

+0