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

jQuery1.7升级至3.6后出现$.trim(...).val is not a function错误如何解决

报错根因

你写的$.trim("#my_variable1_id").val()存在两处逻辑错误:

  • $.trim()的入参是字符串字面量"#my_variable1_id",不是你要取的表单值,返回结果就是处理后的id字符串,本身没有val()方法,直接触发类型报错
  • 你混淆了「先取表单值再trim」的执行顺序,val()是jQuery对象的方法,只能挂在DOM选择器返回的jQuery对象后调用

可行的修复方案

jQuery 3.6已经废弃了$.trim()方法,更推荐直接用JS原生的String.prototype.trim(),可以选以下任意一种写法:

  • 优先推荐原生trim写法(兼容所有现代浏览器,不需要依赖jQuery的trim实现)
var my_variable1 = ($("#my_variable1_id").val() || '').trim();

这里用|| ''做兜底,如果val()返回null/undefined/空值,默认转成空字符串再调用trim,避免空值调用方法报错。

  • 如果需要沿用jQuery的trim方法,写法调整为:
var my_variable1 = $.trim($("#my_variable1_id").val() || '');

注意要先取到val()的值,再作为参数传给$.trim(),不能在trim后面再加val()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 10:15:03