使用html()获取更改的内容

时间:2011-05-11 14:40:22

标签: javascript jquery

我有一个div,我需要抓取HTML内容(所以我很自然地使用html())......

但是,它们是文本字段。每当我抓取div的内容(包含文本字段)时,它会抓取初始HTML而不是最终用户更改的任何数据......

这是JS bin版本..更改输入字段,运行该函数,你会发现它只会占用该字段的初始值...

有什么方法吗?

http://jsbin.com/oleni3/edit

7 个答案:

答案 0 :(得分:0)

您获取div的HTML。您想获取输入框的值:

$(document).ready(function() {
    $('#click').click(function() {
        var _curHtml = $("#data").val();
        $("div#bottom").html(_curHtml);
    });
});

答案 1 :(得分:0)

用html()无法做到这一点。您必须使用val()获取每个输入的值。你可以使用

$("input").each(function() {
    doSomething($(this).val());
}

如果它让生活更轻松。

答案 2 :(得分:0)

$(document).ready(function() {
  $('#data').change(function() {
    $(this).attr('value', $(this).val());
  }) 
  $('#click').click(function() {
        var _curHtml = $("div#top").html();
        $("div#bottom").html(_curHtml);
    });
});

这有用..这里是链接http://jsbin.com/oleni3/2/edit

更新:如果div中有很多inputs,您可以使用此http://jsbin.com/oleni3/6/edit

答案 3 :(得分:0)

$(document).ready(function() {
    $('#click').click(function() {
        var _curHtml = $("#data").val();
        $("div#bottom").html(_curHtml);
    });
});

答案 4 :(得分:0)

最简单的黑客就是这样:

$("div#bottom input").val($("div#top input").val());

获取更新输入的值并将其设置为克隆。

更新了链接:

http://jsbin.com/oleni3/3/edit

答案 5 :(得分:0)

http://jsbin.com/oleni3/5/edit

试试这个^

代码:

$(document).ready(function() {
  $('div#top input').change(function() {
      $(this).attr('value', $(this).val()); 
  });
  $('#click').click(function() {
    var _curHtml = $("div#top").html();
    $("div#bottom").html(_curHtml);
  }); 
});

答案 6 :(得分:0)

已经创建了插件 - 请参阅答案:jQuery html() in Firefox (uses .innerHTML) ignores DOM changes

相关问题