我有一个div,我需要抓取HTML内容(所以我很自然地使用html())......
但是,它们是文本字段。每当我抓取div的内容(包含文本字段)时,它会抓取初始HTML而不是最终用户更改的任何数据......
这是JS bin版本..更改输入字段,运行该函数,你会发现它只会占用该字段的初始值...
有什么方法吗?
答案 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());
获取更新输入的值并将其设置为克隆。
更新了链接:
答案 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