jquery中的文本缩短方法不缩短div文本

时间:2013-07-10 06:01:22

标签: jquery text

我从数据库中提取一些文本,我希望它出现的div将其缩短到某个字符数量。我正在使用这个:

脚本:

$(".activity_body").text($(this).text().substr(0, 120)+'...');

HTML:

<div class="activity_body">{{$fanartist->description}} <a href="/artists/{{$fanartist->id}}">See more...</a></div>

这并不是应该缩短文本。你知道这里可能出了什么问题吗?谢谢。

这个div类多次出现(动态渲染),这与它有什么关系吗?谢谢。

2 个答案:

答案 0 :(得分:1)

您的this并未指代$(".activity_body")。您需要执行以下一项或另一项:

var activityBody = $(".activity_body");
activityBody.text(activityBody.text().substr(0, 120)+'...');
// or
$(".activity_body").each(function() {
    $(this).text($(this).text().substr(0, 120)+'...');
});

这是一个有效的小提琴:http://jsfiddle.net/FSxj5/

答案 1 :(得分:0)

如果您使用的是php,那么您可以使用php substr函数缩短服务器本身的字符串,如:

  

substr ( $string , $start ,$length )

返回由start和length参数指定的字符串部分。

查看php.net

中的功能