在第n个字符后找到上一个<p>?</p>

时间:2013-11-19 02:36:11

标签: javascript jquery traversal

如果元素包含超过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/

1 个答案:

答案 0 :(得分:2)

使用lastIndexOf方法查找字符串中特定索引之前字符串的最后一次出现:

var text = $(this).html();
var index = text.lastIndexOf('</p>', 1700);
$(this).html(text.substring(0, index + 4));