jQuery对象不支持IE中的属性或方法trim()

怎么了与jQuery的修剪方法?

jQuery('#Reminders').attr('value').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()有什么特别的…我没有得到备忘录。

IE没有一个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正在返回一个string。 这意味着IE浏览器在string上没有修剪方法。