我需要截断可能包含或不包含HTML标签的段落文本。我正在寻找使用直接jQuery或香草javascript的最有效方法。您可以在这里看到问题:http : //jsfiddle.net/4BzpY/3/
var text = "This <a href=\"\">is</a> some text with a link";
var shortText = jQuery.trim(title).substring(0, 10).split(" ").slice(0, -1).join(" ") + "...";
alert(shortText );
Run Code Online (Sandbox Code Playgroud)
截断的文本将位于一个段落元素中,该元素可以动态扩展以显示所有内容。在这种情况下,我不想剥离HTML标签,然后仅在完全展开时才显示它们。HTML应该保持折叠和展开状态。
如果要在页面上显示,则更简洁的方法是使用CSS。鉴于HTML:
<span class="truncated">this is truncated text</span>
Run Code Online (Sandbox Code Playgroud)
和CSS:
.truncated {
overflow: hidden;
display: block;
width: 50px;
white-space: nowrap;
text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)
这将显示类似以下内容:
this is...
Run Code Online (Sandbox Code Playgroud)
然后,您可以根据需要使用JavaScript删除CSS类。实施示例:http://jsfiddle.net/a8QK4/