在
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,''); }; }