字符限制jquery

Dom*_*Dom 3 jquery

您好我正在寻找一个允许我限制li标签中字符数的功能.

试图这样做:

$('li.latestnewsfooterCol').limit('5');
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

有人可以帮我吗?

先感谢您.

Pet*_*tai 8

第1部分:限制字符数


这将通过每个选中li并使用该.slice()方法将内容减少到5个字符.

切片提取最多但不包括末端切片.

$('li.latestnewsfooterCol').each(function() {
    var $this = $(this);
    $this.text( $this.text().slice(0,5) );
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子


使其成为一个功能:

var maxNum = function($elie, num) {
    var $this;
    $elie.each(function() {
        $this = $(this);
        $this.text( $this.text().slice(0,num) );
    });
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子


用jQuery对象调用上面的,如, limit($('li.latestnewsfooterCol'), 5);

.each()在两种情况下都会使用,以防您选择了多个元素.


第2部分:限制词


字数更复杂一些.看看这里.幸运的是,它在jQuery上更加紧凑:

var maxNum = function($elie, num) {
    var $this;
    $elie.each(function() {
        $this = $(this); 
        $this.text( $this.text().split(/\s+/).slice(0,num).join(" ") );
    });
}

$(function() {
    maxNum($('li.latestnewsfooterCol'),5);
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子


首先,文本按空格分割成数组$this.text().split(/\t+/).然后将数组切成正确的长度并重新连接空格..slice(0,num).join(" ")请注意,这可能会替换制表符或换行符.


请注意,这仅适用于启用了Javascript的用户.