2011-06-28 90 views
9

我試圖讓一個變量將HTML存儲在div標記中,但只是使用var a = $('div').html()不存儲位於div內的輸入標記的值。jQuery:獲取HTML以及輸入值

所以,我的問題是,我應該如何去保存HTML 選定的選項和輸入標籤的值使用jQuery變量?

下面是一些示例代碼:

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:

/* "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(); 

在此先感謝。

回答

19

你可以$.clone()的元素。

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

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

在線演示:

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

後,您可以使用此提取HTML:http://jsbin.com/obebov/edit

+0

謝謝!我完全忘了'.clone()'。剛剛測試過,效果很好。 – Ivan

+0