修剪jQuery .load的结果

时间:2014-06-15 21:42:47

标签: javascript jquery

我创建了一个页面,其中包含文章页面中的文章,但我只想显示一些文章,例如前100个单词。

到目前为止,我的网页已成功加载文章:

$(function(){
    $('#startOfArticle').load('article.html #officialArticle');
});

现在已将其加载到段落<p id="startOfArticle></p>中,但随后我将使用以下内容修改此段落中的所有内容:

var shortened = $("#startOfArticle").text()
    .trim()
    .substring(0, 100)
    .split(" ")
    .slice(0, -1)
    .join(" ") + "...";
$('#startOfArticle').text(shortened+ '<a href="read">read more</a>')

但这不是修剪文章,有什么建议吗?

2 个答案:

答案 0 :(得分:2)

在装载完成之前,我要拍一张你正在调整的底池。您需要修剪回调结果。像

这样的东西
$(function(){
    $('#startOfArticle').load('article.html #officialArticle', function(data){
       var shortened = data
       .trim()
       .substring(0, 100)
       .split(" ")
       .slice(0, -1)
       .join(" ") + "...";
    $('#startOfArticle').text(shortened+ '<a href="read">read more</a>')});
});

答案 1 :(得分:0)

要有机会操纵响应,请使用jQuery .get,.post或.load函数:

jQuery .load函数示例:

$(function(){
    $('#startOfArticle').load('article.html', function(data) {
        $('#startOfArticle').append($.parseHTML(data)).find('#officialArticle').each(function() {
            $('#startOfArticle').html($(this).text()
                .trim()
                .split(' ')
                .slice(0, 99)
                .join(' ') + '...<a href="read">read more</a>'
            );
        });
    });
});