字符限制jquery

时间:2010-10-09 07:46:23

标签: jquery

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

试图这样做:

$('li.latestnewsfooterCol').limit('5');

但这似乎不起作用。

有人可以帮我吗?

提前谢谢。

2 个答案:

答案 0 :(得分:8)

第1部分:限制字符数


这会检查每个选定的li并使用 .slice() 方法将内容缩减为5个字符。

切片提取,但不包括末端切片。

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

jsFiddle example


使其成为一个功能:

var maxNum = function($elie, num) {
    var $this;
    $elie.each(function() {
        $this = $(this);
        $this.text( $this.text().slice(0,num) );
    });
}

jsFiddle example


使用jQuery对象(如limit($('li.latestnewsfooterCol'), 5);

)调用上述内容

如果您选择了多个元素,我会在两种情况下使用.each()


第2部分:限制词语


字数更复杂一些。的 Take a look here 即可。幸运的是,它在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);
});

jsFiddle example


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


请注意,只有启用了Javascript的用户才能使用此功能。


答案 1 :(得分:1)

请你更具体一点吗?你想要像

这样的东西吗?
...
<li>A very long list item</li>
...
<script type="text/javascript">
    function limit(no_of_chars) {

    }
    limit(5);
</script>

输出

A ver