javascript - 限制在字符串中显示的字符数,但在没有 php 的模式中显示相同字符串的所有字符?

标签 javascript jquery html css

我有一个新闻轮播。

<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/

相关文章:

javascript - 当appendChild(img)时参数1不是 'Node'类型

javascript - 脚本无法处理简单的算术

javascript - 使用轮播滚动浏览日期

html - 将链接到 css 样式表的 <h1> 放在也链接到 css 样式表的 html 表中

javascript - 当第一个参数为 null 时,.bind() 与闭包相同吗?

javascript - 未捕获的类型错误 : Object #<HTMLFormElement> has no method onkeydown

javascript - ('click' 上的 jQuery,...)无法处理附加元素

javascript - 通过 DOM 操作插入 html 元素后访问该元素

javascript - 在输入字段发生任何变化时调用 jQuery 函数

javascript - Actionscript 2.0可见属性,影片剪辑/图像重叠,它在闪烁