jQuery:获取HTML以及输入值

Iva*_*van 11 html javascript jquery

我正在尝试将变量存储在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>
Run Code Online (Sandbox Code Playgroud)

使用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(); 
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Sam*_*son 22

你可以$.clone()这个元素.

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

$a.appendTo("body"); // Clone invades your body
Run Code Online (Sandbox Code Playgroud)

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


Azf*_*iaz 6

您也可以通过首先更改输入字段的值来实现这一点,如下所示:

$('div input').each(function(){
    $(this).keyup(function(){
        $(this).attr('value',$(this).val());
    });
});
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用以下方法提取HTML:

$('div').html();
Run Code Online (Sandbox Code Playgroud)

  • 对于使用select也是如此:if($(this).is('select')){$(this).find('option:selected').attr('selected','selected'); } else {$(this).attr('value',$(this).val()); } (2认同)