我有一个新闻轮播。
<div class="news-1">
<h4>Title</h4>
<p>Content</p>
</div>
<a href="#">Show Post</a>
<div class="news-2">
<h4>Title</h4>
<p>Content</p>
<a href="#">Show Post</a>
</div>
我正在使用 https://github.com/joemottershaw/litebox弹出这些新的。一旦我按下 Show Post,它就会复制 <div class="news-#">
之间的所有信息。和 </div>
并将其放入叠加模式中。所以如果我应用函数来限制 <p>Content</p>
中的字符,它也将被限制在弹出模式中。如果字符串位于某个容器中,是否有任何 jquery 技巧/黑客来限制字符串中的字符数?所以我可以,例如,包装 <div class="news-#">
和 </div>
包含容器的 id="not-modal",目标内容在 <p>Content</p>
中, 但是一旦模式弹出窗口,因为它只需要从 class="news-#"开始的内容,它不会裁剪字符串?或者有其他选择吗?
为了更清楚:
如果<p class/id?>Long string</p>
包装在 id/class="not-modal"的容器中, chop 字符串?
最佳答案
var substringLength = 50;
$("div[class|='news']").each(function(index, element){
var p = $(element).find("p");
var truncated = p.text().substring(0, substringLength);
p.addClass("modal");
p.after("<p class=\"not-modal\">"+truncated+"</p>");
});
然后在您的 CSS 样式中注意显示一个并隐藏另一个,反之亦然。
关于javascript - 限制在字符串中显示的字符数,但在没有 php 的模式中显示相同字符串的所有字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884523/