【问题标题】:Truncating string to 125 characters in Div element在 Div 元素中将字符串截断为 125 个字符
【发布时间】:2013-02-27 14:01:55
【问题描述】:

我的 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>');

                }

【问题讨论】:

  • 如果您有任何代码,请向我们展示您的代码。
  • 你不能使用css解决方案吗?它必须是一定数量的字符吗?有关 css 信息,请参见此处developer.mozilla.org/en-US/docs/CSS/text-overflow
  • @Zonder 它不会剪切最多 125 个字符的文本,因为它取决于元素的宽度。
  • @Aspiring Aqib 我在问它是否需要为 125,他们可能只是试图阻止字符溢出

标签: javascript html dojo truncate


【解决方案1】:

嗯,这是针对 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);

【讨论】:

    【解决方案2】:

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

    echo substr($inputText, 0, 125);
    

    【讨论】:

      【解决方案3】:

      我在类似的情况下使用了以下 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>
      

      【讨论】:

        猜你喜欢
        • 2011-01-10
        • 2012-01-29
        • 2012-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多