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

jQuery获取textarea值为undefined或返回函数源码问题求解

问题修复方案

你的代码存在三处明显错误,修正后即可实现同页面下的赋值需求:

  • jQuery选择器语法错误:ID选择器需要加#前缀,$('floatingTextarea')是标签选择器,会匹配标签名为floatingTextarea的元素,自然找不到目标节点,需要改为$('#floatingTextarea')。
  • 取值方法混淆:jQuery封装的对象没有原生DOM的value属性,直接读取会返回undefined。你可以任选一种正确的取值方式:
    • 用jQuery提供的val()方法:var header = $('#floatingTextarea').val()
    • 取出原生DOM对象再读value:var header = $('#floatingTextarea')[0].value
      你之前调用val()返回函数源码,要么是漏写了val后的执行括号(),要么是选择器错误导致返回了jQuery原型链上的val函数本身。
  • 语法错误:代码末尾多了一个多余的闭合花括号},直接删除即可。

修正后的可运行代码

$( "#s1" ).click(function(e) {
    e.preventDefault();
    const h = document.getElementById('noteheader');
    const header = $('#floatingTextarea').val();
    h.innerHTML = header;
    // 也可以全用jQuery简化为:$('#noteheader').html($('#floatingTextarea').val())
});

跨HTML文件的特殊处理

如果你需要把内容赋值到另一个独立HTML文件的h1标签,无法直接跨页面操作DOM,需要通过中间载体传值:

  • 如果是iframe嵌套的页面:通过父页面访问iframe.contentWindow对象操作子页面DOM
  • 如果是跳转打开的新页面:把textarea内容拼接在URL参数中,或者存入localStorage,新页面加载时读取对应值渲染到h1
  • 如果是并行的两个标签页:通过localStorage配合storage事件监听实现内容同步

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:15:00