0

我正在使用 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)+'...');

});  
4

3 回答 3

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)+'...');

});  

这使用回调函数中的参数,该参数具有来自服务器的响应数据。

于 2013-02-18T04:47:59.910 回答
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;
}
于 2013-02-18T04:47:46.040 回答
0

我相信.txt_limit是动态加载的元素,那么你应该.find()在现有的父级中使用它:

$('#violin_1_title').find(".txt_limit").text().substr(0, 450)+'...';

或这个:

$(".txt_limit","#violin_1_title").text().substr(0, 450)+'...';
于 2013-02-18T04:48:17.777 回答