JavaScript和Jquery如果Statment附加

Chu*_*udz 1 javascript jquery if-statement

好的,我有一个列表,列表中的一些文本很长,所以我想使用JavaScript和Jquery修剪文本,并添加...到测试结束时,如果它超过30个字符.

<ul>
    <li><a href="#">Long List item Long List item Long List item </a></li>
    <li><a href="#">Smaller List item</a></li>
    <li><a href="#">item</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的Jquery此刻:

$(function(){
    $("ul li a").html(function(){
        return $(this).html().substring(0,30);
    });
    $('.box ul li a').append(' ...');
});
Run Code Online (Sandbox Code Playgroud)

这有效,但我想添加一个IF语句只添加...如果标签内的文本长度超过30个字符.我该怎么做呢?

谢谢

Bar*_*mar 5

在创建子字符串的函数中测试长度,并在那里添加省略号.

$(function(){
    $("ul li a").html(function(i, html){
        return html.length > 30 ? html.substr(0, 30) + " &hellip;" : html;
    });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><a href="#">Long List item Long List item Long List item </a>
  </li>
  <li><a href="#">Smaller List item</a>
  </li>
  <li><a href="#">item</a>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,元素的当前HTML作为参数传递给回调函数,因此您不需要在其中使用$(this).html()它.