Я пытался подать заявку .trim()
к строке в одной из моих программ JavaScript. Он работает нормально под Mozilla, но появляется ошибка, когда я пытаюсь сделать это в IE8. Кто-нибудь знает, что здесь происходит? Есть ли в любом случае я могу заставить его работать в IE?
код:
var ID = document.getElementByID('rep_id').value.trim();
отображение ошибки:
Сообщение: объект не поддерживает это свойство или метод Линия: 604 Char: 2 Код: 0 URI: http: //test.localhost/test.js
javascript
internet-explorer
trim
Джин Юн
источник
источник
"whatever ".trim()
попробуйте это на IE8.trim()
и не поверил своим глазам, когда понял, что это не поддерживается. Спасибо за очистку этого. Я собирался спросить так же, как вы просили.Ответы:
Добавьте следующий код, чтобы добавить функциональность обрезки в строку.
источник
replace(/^\s\s*/, '').replace(/\s\s*$/, '')
должно быть примерно в 3 раза быстрее, чемreplace(/^\s+|\s+$/, '')
в Firefox 2, согласно одному тестуreplace(/^\s+|\s+$/, '')
удаляются только начальные или конечные пробелы, что не соответствует поведению, ожидаемому от функции усечения. Если вы хотите удалить как начальные, так и конечные пробелы, вам нужно использоватьreplace(/^\s+|\s+$/g, '')
.Похоже, что эта функция не реализована в IE. Если вы используете jQuery, вы можете использовать
$.trim()
вместо этого ( http://api.jquery.com/jQuery.trim/ ).источник
JQuery:
Кто-то использует,
$("#mycomment").val().trim();
но это не будет работать на IE.источник
К сожалению, нет кросс-браузерной поддержки JavaScript для trim ().
Если вы не используете jQuery (у которого есть метод .trim ()), вы можете использовать следующие методы для добавления поддержки обрезки строк:
источник
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim
Это довольно недавнее дополнение к javascript, и оно не поддерживается IE.
источник
У меня была похожая проблема при попытке обрезать значение на входе, а затем спросить, было ли оно равно нулю:
Однако это бросило гаечный ключ в работах для IE6 - 8. Достаточно досадно, но я попытался изменить это так:
Тем не менее, используя метод обрезки JQuery, отлично работает для меня во всех браузерах ..
источник
Я написал некоторый код для реализации функциональности обрезки.
LTRIM (отделка слева):
RTRIM (обрезка справа):
TRIM (обрезать обе стороны):
ИЛИ
Также доступно регулярное выражение, которое мы можем использовать.
Полезное объяснение
источник
\t
,\r
,\n
и тому подобное. Толькоspaces
. Регулярное выражение лучше, если вам не хочется прикладывать усилия, чтобы справиться со всем вручную.Мы можем получить официальный код из Интернета! Порекомендуйте это:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim
для большего: я только что обнаружил, что есть проект js для поддержки EcmaScript 5: https://github.com/es-shims/es5-shim , читая исходный код, мы можем получить больше знаний о trim.
источник
Я не думаю, что есть
trim()
стандартный метод в стандарте JavaScript. Может быть, Mozilla поставляет один, но если вы хотите один в IE, вам нужно написать его самостоятельно. На этой странице есть несколько версий .источник
У меня была та же проблема в IE9 Однако, когда я объявил поддерживаемую версию HTML со следующим тегом в первой строке перед
Проблема была решена.
источник
Это из-за ошибки опечатки getElementBy ID . Измените его на getElementById
источник
источник
Просто обнаружил, что IE перестает поддерживать
trim()
, вероятно, после недавнего обновления Windows. Если вы используете Dojo, вы можете использоватьdojo.string.trim()
, он работает кроссплатформенно.источник
Эта проблема может быть вызвана тем, что IE использует режим совместимости на сайтах интрасети. Есть два способа решения этой проблемы: вы можете либо обновить IE, чтобы не использовать режим совместимости на локальном компьютере (в IE11: Инструменты-> Настройки просмотра совместимости -> Снимите флажок Отображать сайты интрасети в представлении совместимости)
А еще лучше, вы можете обновить мета-теги на своей веб-странице. Добавить в:
Что это значит? Это говорит IE, чтобы использовать последний режим совместимости. Более подробная информация доступна в MSDN: Указание устаревших режимов документов
источник