如果元素包含超过1700个字符,我想创建一个“阅读更多”按钮。
我已经实现了这个目标:
var textlength = $(this).text().length;
if(textlength > 1700){
$(this).html($(this).html().substring(0, 1700));
$(this).append(readmorelink);
};
这将删除1700之后的所有字符。但我想从1700年删除字符并返回到最后一个</p>
标记。
有谁知道我如何从第n个字符遍历到特定元素?
在这里小提琴:http://jsfiddle.net/xvWcH/
答案 0 :(得分:2)
使用lastIndexOf
方法查找字符串中特定索引之前字符串的最后一次出现:
var text = $(this).html();
var index = text.lastIndexOf('</p>', 1700);
$(this).html(text.substring(0, index + 4));