我正在尝试将变量存储在div标记中,但只使用var a = $('div').html()
不会存储div中输入标记的值。
所以,我的问题是,我应该如何使用jQuery将HTML 和输入标签的选定选项和值保存到变量?
以下是一些示例代码:
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();
提前致谢。
答案 0 :(得分:21)
你可以$.clone()
元素。
var $a = $("div:first").clone();
$a.appendTo("body"); // Clone invades your body
答案 1 :(得分:6)
您也可以通过首先使用DOM更改输入字段的值来实现此目的:
$('div input').each(function(){
$(this).keyup(function(){
$(this).attr('value',$(this).val());
});
});
之后您可以使用以下方法提取HTML:
$('div').html();
答案 2 :(得分:0)
如果文档包含 Ajax
内容,最好的解决方案是:
$(document).on("keyup change", "input", function () {
$(this).attr("value", $(this).val());
});
您必须同时使用 change
和 keyup
事件。