JQuery:在4个字符后删除div文本

时间:2014-06-13 08:02:25

标签: javascript jquery html html5 text

我只想显示div的前四个字符,但它似乎比需要的更难,谷歌并不是很有帮助。这种不同的变化似乎不起作用:

$("#div").html(this.html().substring(0,4));

我真的想避免在那里首先存储文本的额外变量。

4 个答案:

答案 0 :(得分:10)

使用.html()

的回调
$("#div").html(function(){
    return $(this).html().substring(0,4);
});

<强> Demo

$(this).html() this.html()

如果div只包含纯文本,您也可以使用.text()

$("#div").text(function(){
    return $(this).text().substring(0,4);
});

参考:

<强> Slice vs Substring

原来子串相对更快。

<强> JsPerf test : slice() vs substring() vs others

答案 1 :(得分:2)

如果div元素包含任何HTML(html元素),则.html()将其作为字符串返回。 Example

注意:(这完全取决于你div的内在内容)

如果要截断纯文本,则应使用.text()而不是.html()

试试这个:

$("#div").text(function(){   
    return $(this).text().substring(0,4);
});

Working Fiddle

答案 2 :(得分:1)

试试这个:

$("#div").html(function(){
    return $(this).html().substring(0,4)
    });

它还会计算空间......如果有的话。

像PIV一样,“测试四个3”会给你输出“测试”

答案 3 :(得分:1)

为此目的使用 slice()

$("#div").text(function(){   
    return $(this).text().slice(0,4);
});