jQuery .trim()IE浏览器兼容性问题

Jam*_*mes 6 javascript jquery internet-explorer cross-browser

我在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>");
}
Run Code Online (Sandbox Code Playgroud)

它说:

Object不支持此属性或方法,并指向此行:

if (visiblePara.text().trim().length > 150) {
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

rsp*_*rsp 19

尝试改变:

visiblePara.text().trim().length
Run Code Online (Sandbox Code Playgroud)

至:

$.trim(visiblePara.text()).length
Run Code Online (Sandbox Code Playgroud)

您甚至可以向上移动文本变量,如下所示:

// 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>");
}
Run Code Online (Sandbox Code Playgroud)