javascript – 未捕获的TypeError:无法在Jquery中读取未定义的属性’trim’

前端之家收集整理的这篇文章主要介绍了javascript – 未捕获的TypeError:无法在Jquery中读取未定义的属性’trim’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Jquery中将空格字符替换为”.但是以其他形式工作,而不是单一形式. in包括标题
<header>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
</header>

使用其他形式的代码运行良好.

var vname = $("#EarningsTypes").val();
vname = vname.trim().replace(/ /g,'%20');
jQuery.noConflict();

解决方法

你收到了错误

Uncaught TypeError: Cannot read property ‘trim’ of undefined in Jquery

这意味着,变量vname是未定义的.要防止发生此错误,可以使用三元运算符将字符串的默认值设置为未定义时为空字符串.

var vname = $("#EarningsTypes").val() == undefined ? '' : $("#EarningsTypes").val().trim();
vname = vname.replace(/ /g,'%20');

你也可以使用||设置默认值

var vname = $("#EarningsTypes").val() || '';

如果您使用的是不支持修剪的旧浏览器,则可以使用polyfill from MDN

if (!String.prototype.trim) {
  String.prototype.trim = function() {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,'');
  };
}
原文链接:https://www.f2er.com/jquery/159450.html

猜你在找的jQuery相关文章