截断可能包含或不包含HTML元素的段落文本的最快方法是什么?

bjo*_*k24 3 javascript jquery

我需要截断可能包含或不包含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应该保持折叠和展开状态。

Adr*_*agg 5

如果要在页面上显示,则更简洁的方法是使用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/