在Jquery中将空格字符替换为'%20'。但是以其他形式工作而不是单一形式。 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();
答案 0 :(得分:13)
您收到错误
未捕获的TypeError:无法读取属性&#39; trim&#39;在Jquery
中未定义
这意味着变量vname
为undefined
。为了防止发生此错误,您可以使用三元运算符将字符串的默认值设置为空字符串undefined
。
var vname = $("#EarningsTypes").val() == undefined ? '' : $("#EarningsTypes").val().trim();
vname = vname.replace(/ /g, '%20');
您还可以使用||
设置默认值
var vname = $("#EarningsTypes").val() || '';
如果您使用的是不支持trim
的旧版浏览器,则可以使用polyfill from MDN
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}