我正在使用jquery加载从页面加载内容,我试图限制它在div中允许的字符数量,我的函数有效,但有时候,我不知道为什么。
$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function() {
$(".txt_limit").text($(this).text().substr(0, 450)+'...');
});
答案 0 :(得分:1)
尝试
$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function(response) {
$(".txt_limit").text(response.substr(0, 450)+'...');
});
这使用回调函数中的参数,该参数包含来自服务器的响应数据。
答案 1 :(得分:0)
您从服务器获得的响应输出将是HTML。因此,在这种情况下,您需要获取完整内容,然后将其转换为文本/ HTML输出,并从输出中应用子字符串。
$('#violin_1_title').load('http://www.klossal.com/klossviolins/inventory.html .violin:first .about .about_txt .about_summary h3:eq(1)', function(data) {
$(".txt_limit").text(data.substr(0, 450)+'...');
});
如果您使用CSS很好,如果它是一行的话,您可以这样做:
.txt_limit {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
答案 2 :(得分:0)
我相信.txt_limit
是动态加载的元素,那么你应该.find()
在现有的父元素中:
$('#violin_1_title').find(".txt_limit").text().substr(0, 450)+'...';
或者这个:
$(".txt_limit","#violin_1_title").text().substr(0, 450)+'...';