简体   繁体   English

jquery - 限制div中的单词数

[英]jquery - Limit number of words in div

I have the following code which works well: 我有以下代码,效果很好:

HTML: HTML:

<div data-max-characters="120">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia ea esse accusantium nobis adipisci dignissimos? Vel esse facilis perferendis ipsa? Voluptatem earum, ratione! Consequuntur et assumenda minus, aut temporibus alias.</div>

<p data-max-characters="210">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia ea esse accusantium nobis adipisci dignissimos? Vel esse facilis perferendis ipsa? Voluptatem earum, ratione! Consequuntur et assumenda minus, aut temporibus alias.</p>

jquery: jQuery的:

$("div, p").each(function() {
   var textMaxChar = $(this).attr('data-max-characters');

   length = $(this).text().length;
   if(length > textMaxChar) {
       $(this).text($(this).text().substr(0, textMaxChar) + '...');
   }
});

But I want the same with limited words. 但我想用有限的词语来做同样的事情。 Can anyone help me with this please? 有人可以帮我这个吗?

Thanks. 谢谢。

Demo: https://jsfiddle.net/Lnk2dmnb/ 演示: https //jsfiddle.net/Lnk2dmnb/

If you could assume that words are any text blocks separated by a space, than something like this would work 如果你可以假设单词是由空格分隔的任何文本块,那么这样的东西就可以了

$(this).text().split(' ').length;

https://jsfiddle.net/Lnk2dmnb/7/ https://jsfiddle.net/Lnk2dmnb/7/

You can try this, 你可以试试这个,

  $("div, p").each(function(index, currentText) {
       var length=$(this).attr("data-max-characters");
       var texts=$(this).text().split(" ",length).join(" ");
       $(this).text(texts);
  });

follow this link https://jsfiddle.net/Lnk2dmnb/8/ 点击此链接https://jsfiddle.net/Lnk2dmnb/8/

https://jsfiddle.net/Lnk2dmnb/4/ https://jsfiddle.net/Lnk2dmnb/4/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM