限制字符jquery

时间:2010-06-28 18:02:48

标签: jquery

我想知道是否可以使用jQuery限制具有指定类的元素中的字符数量?

例如,缩短类的以下元素只显示40个左右的字符。

<p class="shortened">This would be the text limited to 40 Characters</p>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

对于<input type="text" />元素,您只需使用maxlength属性。

对于其他元素,例如<textarea>,您可以检查元素的onkeyup事件。

$('.shortened')
    .keyup(function(e){
        var $this = $(this);
        $this.text($this.text().substring(0, max)); //Set max to 40, or whatever you want
    });

对于其他非表单元素,您可以执行相同的操作,但不必在事件处理程序上执行此操作。

$('.shortened')
    .each(function(){ 
        var remainTxt = $(this).text().substring(max, $(this).text().length);
        $(this).text($(this).text().substring(0,max));
    });

编辑:要匹配Mark的答案,您可以存储剩余的.text()子字符串,并在用户点击“展开”按钮时附加该字符串。

答案 1 :(得分:4)

也许是一个插件?

http://plugins.jquery.com/project/TrimText

根据您的需要,这可能很容易或很难。截断简单文本很简单,截断html稍微有些困难,如果你想截断html并有一个展开按钮来放回文本,那就更难了。