Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery插件";readmore";,修剪文本而不剪切单词_Javascript_Jquery_Substring_Trim - Fatal编程技术网

Javascript jQuery插件";readmore";,修剪文本而不剪切单词

Javascript jQuery插件";readmore";,修剪文本而不剪切单词,javascript,jquery,substring,trim,Javascript,Jquery,Substring,Trim,我正在使用修剪长文本并添加“查看更多”链接以显示所有文本 我很想避免切字,我怎么能做到呢 如果限值是35,不要削减w 但是 如果限制是35,不要删掉这个词。。。(在本例中,在38处进行修剪,然后在末尾显示第39条隐藏的文本。您可以更改该插件中的缩写功能,如下所示: function abridge(elem) { var opts = elem.data("opts"); var txt = elem.html(); var len = opts.substr_len; var

我正在使用修剪长文本并添加“查看更多”链接以显示所有文本

我很想避免切字,我怎么能做到呢

如果限值是35,不要削减w

但是


如果限制是35,不要删掉这个词。。。(在本例中,在38处进行修剪,然后在末尾显示第39条隐藏的文本。

您可以更改该插件中的
缩写功能,如下所示:

function abridge(elem) {
  var opts = elem.data("opts");
  var txt = elem.html();
  var len = opts.substr_len;
  var dots = "<span>" + opts.ellipses + "</span>";
  var charAtLen = txt.substr(len, 1);
  while (len < txt.length && !/\s/.test(charAtLen)) {
      len++;
      charAtLen = txt.substr(len, 1);
  }
  var shown = txt.substring(0, len) + dots;
  var hidden = '<span class="hidden" style="display:none;">' + txt.substring(len, txt.length) + '</span>';
  elem.html(shown + hidden);
}
功能摘要(elem){
var opts=要素数据(“opts”);
var txt=elem.html();
var len=opts.substr_len;
var dots=“”+选择椭圆+”;
var charAtLen=txt.substr(len,1);
while(len
…它将按照您的意愿运行。您可能希望添加一个选项来关闭和打开此功能,但我将由您决定

不要这样做:

$elem.readmore({
  substr_len: 35
});
你可以这样做

$elem.readmore({
  substr_len: $elem.text().substr(0, 35).lastIndexOf(" ")
});
我们要做的是进入索引35之前的最新空间。 当然,35可以是可变的。你也可以把它放到一个函数中去重用它


希望这有帮助

我刚刚收集了关于这个主题的信息,在您的帮助和其他相关帖子的帮助下,我写了以下内容:


我不知道是否有更简单的方法,但这很好!谢谢mVChr