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 ライブラリとして使用しています。

次のコードは、トリミングして More リンクに置き換えるために使用しています。しかし、長さには<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 を使用しなければならない理由はありますか? 誰もが有効にしているわけではありません。サーバーに 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 に答える
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 に答える