我正在为文本编写一些阅读更多/更少的功能,但我遇到了下一个问题。
我的步骤: 1)获取包含 div 的文本的内容,其中包含多个段落。
var content = $heroContent.html();
2)我制作了始终显示的部分的子字符串,以及全文的第二个子字符串 - 始终显示的部分,实际上是隐藏的部分。(该隐藏部分可以通过单击按钮显示或隐藏)
c = content.substr(0, 700)
h = content.substr(700, content.length - roundedLimit)
3)我将第二部分放在一个包含更多内容的跨度中,这样我就可以隐藏该内容并显示它。
html = c + "<span class='morecontent'>" + h + "</span>";
4)我再次将上面的 html 变量添加到带有文本的 div 中,并隐藏“更多内容”。
将文本放在一个跨度中的原因是它可以在它分解之前与文本内联放置。如果不在 span 中,则文本仅出现在下面的行中,这是不想要的。
问题:第二个子字符串h可以由多个段落组成。因此,当 P 标签在变量h内关闭时,span 标签也会自动关闭,因此,morecontent类仅适用于 span 的开头直到内部第一段的结尾。
我试图通过将文本放入 DIV 来修复它,但是文本没有出现内联,这确实是一个重要的“功能”。
如果有人能给我解决这个问题,那就太好了!