jQuery trim方法怎么了??
jQuery('#Reminders').attr('value').trim()
对象不支持属性或方法"trim">
jQuery('#Reminders').attr('value')
"5,1,1">
$('#Reminders').attr('value').split(',')
[5,1,1]
[0]: "5"
[1]: "1"
[2]: "1"
我在FireFox或Chrome中没有这些问题。。。仅IE 9.0。trim((有什么特别之处吗。。。我没有收到备忘录。
string.trim()
方法。
相反,您可以调用jQuery的$.trim(str)
。
您可以在String对象上添加trim((方法,适用于不支持该方法的浏览器(类似IE(。
只需在调用trim((方法之前添加这些行:
String.prototype.trim = function() {
return this.replace(/^s+|s+$/g, '');
}
trim()
不会像在jQuery上下文中那样被调用。
一旦调用attr()
,jQuery链接就结束了。看见http://api.jquery.com/attr/
要做到这一点,请执行:
jQuery.trim(jQuery('#Reminders').attr('value'));
请参阅:http://api.jquery.com/jQuery.trim/
IE没有trim()
方法也有同样的问题。如果trim()
不存在,我就添加它来解决问题。
(function(str) {
if (typeof(str.prototype.trim) === 'undefined') {
str.prototype.trim = function() {
return $.trim(this);
};
}
})(String);
效果很好。
这与jquery无关。Attr正在返回一个字符串。这意味着IE在字符串上并没有trim方法。