【问题标题】:adding ellipsis to last usable line of code将省略号添加到最后可用的代码行
【发布时间】:2014-03-25 20:11:09
【问题描述】:

我有一些看起来像这样的代码:

<script type='text/javascript'>
    jQuery(document).ready(function() {
        jQuery('.news-title').each(function() {
            var divh = jQuery(this).height();
            var aText = jQuery(this).children();
            var a = aText.outerHeight();
            if(a > divh) {
                jQuery(aText).text(function (index, text) {
                    return text.replace(/\W*\s(\S)*$/, '...');
                });
            }
        });
    });
</script>

它似乎做了我想做的一半,但它缺少一个重要的部分。我认为我的替换文本功能已关闭。它不是替换最后一个可用行的最后一个单词,而是替换最后一行。有人可以帮忙吗?

【问题讨论】:

  • 正如 martynas 所说,css 会是更好的选择,顺便说一句,我看到上面的代码可以正常工作。你在处理 utf 吗?
  • 我不太确定我明白你的意思。经过进一步调查,我发现它仅适用于我的一些目标领域,而不是其他领域。我不知道这是否有帮助。另外,我不想使用 css,因为我觉得这更干净,而且我已经投入了大量时间。有什么想法吗?我的外部 div 区域是 200x40 像素

标签: javascript jquery regex


【解决方案1】:

您可能想使用文本溢出省略号属性:

http://www.w3schools.com/cssref/css3_pr_text-overflow.asp

这应该是一个评论,但我没有足够的代表:/

【讨论】:

    【解决方案2】:

    尝试使用下面的正则表达式,猜测文本可能以空格结尾

    /\W*\s(\S)+\s*$/
    

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 2014-07-18
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      相关资源
      最近更新 更多