1

我有具有以下内容的 Div 元素

It is a dummy text Lorem Ipsum Iswwpe ID DFDLJLKDjlk It is a dummy text Lorem Ipsum Iswwpe ID DFDLJLKDjlk It is a dummy text Lorem Ipsum Iswwpe ID DFDLJLKDjlk <a href="#">click here</a>

我必须将 DIV 内容修剪为 125 个字符,并且必须在最后添加“更多”链接。我使用 DOJO 库作为 JS 库

我用于修剪和替换更多链接的以下代码。但是,长度包括<a href="#"> and </a>标签。我不想只获得文本长度。

                var name= elm.innerHTML;                    
                if(name.length > 125){
                     var subtext = name.substring(125, feednamelength);name.replace(subtext , '<a href="#">More</a>');

                }
4

3 回答 3

0

好吧,这是针对 javascript 的。Demo

function short(length) {
    var s = document.getElementsByTagName("div");
    var len = s.length;
    for(var i = 0; i < len; i++) {
       var g = s[i].innerHTML;
       var x = ". . . More";
       var leng = length-5;
       var html = g.substring(0, leng)+"";
       var allHTML = html+x;
       s[i].innerHTML = allHTML;
    }
}
short(125);
于 2013-02-27T14:08:37.027 回答
0

有什么理由必须使用 Javascript?不是每个人都启用它。如果你的服务器上有 PHP,你可以这样做,

echo substr($inputText, 0, 125);
于 2013-02-27T14:14:49.457 回答
0

我已将以下 css 解决方案用于类似情况。它是基于悬停的,而不是单击“更多”,但表现得很好。

<style type="text/css">
.longtextautoexpand {
max-width:350px;
white-space:nowrap; 
overflow:hidden;
text-overflow:ellipsis;
}
.longtextautoexpand:hover {
overflow:visible;
}
</style>

<p class="longtextautoexpand">
When text must stay on one line, but there is not enough room for it all, this article      provides a solution.
</p>
于 2013-02-27T14:15:11.057 回答