我想实现readmore / less功能。即我将拥有html内容,我将显示该内容的前几个字符,并且在其前面将有更多阅读的链接。我目前正在使用此代码:

    var txtToHide= input.substring(length);
    var textToShow= input.substring(0, length);
    var html = textToShow+ '<span class="readmore">&nbsp;&hellip;&nbsp;</span>'
+ ('<span class="readmore">' + txtToHide+ '</span>');
    html = html + '<a id="read-more" title="More" href="#">More</a>';


输入上方是输入字符串,长度是最初显示的字符串长度。
假设我想从此字符串中删除20个字符,则此代码存在问题:
"Hello <a href='#'>test</a> output",这是html标记之间的内容,如果将其部分剥离,则会弄乱页面。我在这里想要的是,如果html标签落在范围之间,则它应该覆盖完整标签,即我需要此处的输出为"Hello <a href='#'>test</a>"。我怎样才能做到这一点

最佳答案

我希望您可以使用以下jQuery插件,而不是手动进行过多操作。

http://plugins.learningjquery.com/expander/index.html#getting-started

它将展开和折叠您的文本以显示更多信息选项,还为您提供了许多自定义功能。

希望这会有所帮助。

谢谢!

侯赛因

08-25 15:55
查看更多