我从数据库中提取一些文本,我希望它出现的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类多次出现(动态渲染),这与它有什么关系吗?谢谢。
答案 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
中的功能