【问题标题】:jquery - truncate text in paragraphjquery - 截断段落中的文本
【发布时间】:2017-10-04 18:21:02
【问题描述】:

所以我创建了包含两个段落和“阅读更多”链接的 div(它已设置高度和溢出)。第二段被隐藏了。

<div class="text">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam iusto, voluptatum dolorem maiores ratione accusamus modi, sit. Velit nobis quod praesentium quaerat. Sunt mollitia odit asperiores numquam, debitis facere. Nulla.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam iusto, voluptatum dolorem maiores ratione accusamus modi, sit. Velit nobis quod praesentium quaerat. Sunt mollitia odit asperiores numquam, debitis facere. Nulla.</p>
</div>
<div><a class="more" href="#">read more</a></div>

当我点击“阅读更多”时使用这个脚本,它会显示第二段。

$('.more').click(function(e) {
    e.stopPropagation();
    $('.text').css({
       'height': 'auto'
    });
    $('.more').hide();
});

我现在需要做的是将第一段中的文本截断为 50 个字符,并将其余部分替换为:“...阅读更多”。同样,当您单击“阅读更多”时,它应该会显示两个段落中的所有文本。我该怎么做?

【问题讨论】:

标签: jquery


【解决方案1】:
    var firstPara = $('.text p:first').text(); /* Get text in first paragraph */

    $('.text p:first').html(firstPara.substring(0,50)+' <a class="more" href="#">read more</a>');  /* Replace first paragraph text with first 50 characters  */

    $('.text p:last').append(firstPara.substring(50));  /* Append remaining text to Second paragraph   */

$('body').on('click','a.more',function(){
/*enable second para on more click*/
   $('.text p:last').show()
})

【讨论】:

  • 欢迎来到 SO,感谢您的帮助!最好对您的代码进行注释,或者对这个解决方案的作用提供一些解释 - 仅代码的答案不是很有用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 2022-12-10
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多