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

时间:2011-10-10 22:43:09

标签: jquery internet-explorer

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()的特别之处......我没有收到备忘录。

5 个答案:

答案 0 :(得分:91)

IE没有string.trim()方法。

相反,您可以调用jQuery的$.trim(str)

答案 1 :(得分:10)

您可以在String对象上添加trim()方法,对于不支持此方法的浏览器(IE类似)。

在调用trim()方法之前,只需添加这些行:

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
}

答案 2 :(得分:6)

trim()在jQuery上下文中不会被调用。

一旦你调用attr(),这就是jQuery链接的结束。见http://api.jquery.com/attr/

为此,请执行:

jQuery.trim(jQuery('#Reminders').attr('value'));

请参阅:http://api.jquery.com/jQuery.trim/

答案 3 :(得分:4)

此处的问题与IE没有trim()方法相同。如果它不存在,我会通过添加trim()来解决。

(function(str) {
    if (typeof(str.prototype.trim) === 'undefined') {
        str.prototype.trim = function() {
            return $.trim(this);
        };
    }
})(String);

效果很好。

答案 4 :(得分:0)

这与jquery没有任何关系。 Attr正在返回一个字符串。这意味着IE在字符串上没有trim方法。