Ответ 1
IE не имеет метода string.trim()
.
Вместо этого вы можете вызвать jQuery $.trim(str)
.
Что происходит с методом обрезки 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)
.
Вы можете добавить метод trim() объекта String, для браузеров без поддержки этого метода (как 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 не имеет метода обрезки в строке.