我在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>");
}
它说:
Object不支持此属性或方法,并指向此行:
if (visiblePara.text().trim().length > 150) {
可能是什么问题?
答案 0 :(得分:19)
尝试更改:
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>");
}
答案 1 :(得分:4)
trim在IE 8之前不是String.prototype的方法。它已经在其他浏览器中存在了一段时间。
我在IE8中尝试过,它对我有用。使用jQuery.trim() jQuery.trim(str)
代替