需要帮助应用条件限制条件

时间:2015-02-18 17:44:39

标签: jquery

我正在尝试添加三个点的字符限制(...) 现在,所有li标签上都会出现点。它应该只有在字符限制大于20时才会出现。我试图在不同的帖子上找到解决方案,但由于jQuery知识的湖泊,我无法应用条件。请帮助我...

<ul>
 <li>Lorem ipsum</li>
 <li>Aliquam porttitor iaculis velit eget elementum</li>
</ul>

$(function() {
  $('li').each(function() {
    var $this = $(this);
    $this.text( $this.text().slice(0, 20) ).append("...");
  });
});

3 个答案:

答案 0 :(得分:2)

首先查看长度

$('li').each(function() {
    var $this = $(this);

    if ( $this.text().length > 20 ) {
        $this.text( $this.text().slice(0, 20) + "..." );
    }
});

FIDDLE

注意$this.text()返回一个字符串,你连接它,你不能追加它。
您还可以使用text

的回调
$('li').text(function(_, txt) {
    return txt.length > 20 ? txt.slice(20) + '...' : txt;
});

答案 1 :(得分:0)

只需使用$this.text($this.text().slice(0, 20) ) + "...")

即可

答案 2 :(得分:0)

$('li').each(function() {
    var $this = $(this);
    if ($this.text().length >= 20) {
        $this.text( $this.text().slice(0, 20) ).append("...");
    }
});

如果这样,您将按长度过滤li。