Javascript/jQuery 从字符串中获取前 100 个字符,尊重完整的单词

标签 javascript jquery html regex substring

<分区>

我遇到了很多关于这个的问题,我只找到了 PHP 的解决方案。此站点上没有针对 jQuery/javascript 方法的解决方案。

我想做的是我想显示前 100 个字符,但我不想删除最后一个词,因为它没有意义。

比如说 this is myself 是最后一个词,所以我们经常取子串并且 y 是第 100 个词,然后它会像 this is my ,这意味着更少。所以我希望它像 this is..

我的原始代码:

jQuery(".block-text .success-inner-content").each(function(){
    if(jQuery(this).text().length > 100){
        jQuery(this).text(jQuery(this).text().substr(0,98)+'..');
    }
});

此处 block-text .success-inner-content 类在循环中生成包含文本的 Divs 列表。

最佳答案

lastIndexOf 方法采用第二个参数来确定搜索的开始位置,因此您无需在找到最后一个空格之前削减字符串:

jQuery(".block-text .success-inner-content").each(function () {
  var text = jQuery(this).text();
  if (text.length > 100) {
    jQuery(this).text(text.substr(0, text.lastIndexOf(' ', 97)) + '...');
  }
});

您还可以使用 text 方法而不是 each 来循环元素并为每个元素设置文本:

jQuery(".block-text .success-inner-content").text(function (i, text) {
  return text.length > 100 ? text.substr(0, text.lastIndexOf(' ', 97)) + '...' : text;
});

关于Javascript/jQuery 从字符串中获取前 100 个字符,尊重完整的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31989312/

相关文章:

javascript - 如何在 jquery 中创建查询字符串?

javascript - 将鼠标悬停在具有叠加幻灯片效果但没有任何反向效果的图像上

html - 您可以使用 iframe 从您的页面导航其他网站吗?

javascript - 未捕获的类型错误 : Cannot read property 'split' of undefined(…)

javascript - 选项卡式界面的标记

javascript - 获取页面中的元素数

javascript - 在循环中更改 img src 属性值 - jquery

javascript - 我如何确定一个网站是否在 javascript 中出现 404,然后将浏览器重定向到其他地方

javascript - 带有 noConflict 的 jQuery 和 noConflict 变量的赋值

html - 相同字体系列在不同浏览器中的字体大小不同