jquery 的 `html()` 方法默认不包含 `
在 jQuery 中,
要让 html() 返回带值的
// ✅ 正确做法:同步 value 到 innerHTML,再获取 html()
function getHtmlWithTextareaValues() {
// 临时将所有 textarea 的 value 写入其 innerHTML
$('textarea').html(function() {
return $(this).val();
});
// 此时 html() 将包含用户输入
return $('#test').html();
}
// 使用示例
$('#saveBtn').on('click', function() {
const serialized = getHtmlWithTextareaValues();
console.log(serialized); // 输出: "Mango "
});⚠️ 重要注意事项:
✅ 总结:html() 本身不感知表单控件状态,必须主动同步。通过 $('textarea').html(fn) 回调注入 .val(),即可生成符合预期的、含用户数据的 HTML 字符串,适用于模板导出、富文本快照等场景。