jQuery:获取HTML以及输入值

时间:2011-06-28 18:49:44

标签: javascript jquery html

我正在尝试将变量存储在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(); 

提前致谢。

3 个答案:

答案 0 :(得分:21)

你可以$.clone()元素。

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

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

在线演示:http://jsbin.com/obebov/edit

答案 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());
});

您必须同时使用 changekeyup 事件。

相关问题