You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让jQuery的html()方法返回带用户输入值的textarea?

解决思路

问题核心:jQuery的html()方法读取的是DOM元素的innerHTML,而用户在<textarea>中输入的内容仅存储在元素的value属性里,innerHTML不会自动同步这个值,所以直接调用html()拿不到输入内容。

下面是几种可行的解决方法:

  • 方法一:同步值到DOM内容后再获取HTML
    先将<textarea>的value赋值给它的文本内容,再调用父元素的html()方法:

    // 同步textarea的输入值到其DOM内容
    $('#test textarea').text($('#test textarea').val());
    // 获取包含输入值的HTML
    var test = $('#test').html();
    

    注:此操作不会影响页面上textarea的显示效果,因为浏览器渲染textarea时优先读取value属性。

  • 方法二:直接构造带值的HTML字符串
    如果只需要目标textarea的HTML,可以直接通过输入值拼接字符串:

    var inputVal = $('#test textarea').val();
    var test = `<textarea>${inputVal}</textarea>`;
    
  • 方法三:克隆元素后同步值(不修改原DOM)
    若不想改动原页面的DOM结构,可先克隆父元素,在克隆体上同步值后再获取HTML:

    var $clone = $('#test').clone();
    $clone.find('textarea').text($clone.find('textarea').val());
    var test = $clone.html();
    

内容的提问来源于stack exchange,提问作者sheshathri s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:26:14