jQuery .trim () Вопрос о совместимости браузера IE - PullRequest
6 голосов
/ 11 марта 2011

Я проверял следующее в FF, OP, Chrome, Safari и IE. Он работает во всех, кроме 3 IE, которые я тестировал: 8, 7 и 6.

// truncate testimonial 
var visiblePara = $('div.bannerUnder p.show');
if (visiblePara.text().trim().length > 150) {
    var text = visiblePara.text().trim();
    var author = $('div.bannerUnder p.show > strong').text();
    text = text.substr(0, 150) + "...";
    visiblePara.text(text).append("<strong>" + author + "</strong>");
}

Там написано:

Объект не поддерживает это свойство или метод и указывает на эту строку:

if (visiblePara.text().trim().length > 150) {

В чем может быть проблема?

Ответы [ 2 ]

19 голосов
/ 11 марта 2011

Попробуйте изменить:

visiblePara.text().trim().length

на:

$.trim(visiblePara.text()).length

Вы даже можете переместить текстовую переменную вверх примерно так:

// truncate testimonial 
var visiblePara = $('div.bannerUnder p.show');
var text = $.trim(visiblePara.text());
if (text.length > 150) {
    var author = $('div.bannerUnder p.show > strong').text();
    text = text.substr(0, 150) + "...";
    visiblePara.text(text).append("<strong>" + author + "</strong>");
}
4 голосов
/ 11 марта 2011

trim не является методом String.prototype до IE 8. Он уже некоторое время существует в других браузерах.

Я пробовал его в IE8, и он работал для меня.Используйте jQuery.trim () jQuery.trim(str) вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...