我只想显示div的前四个字符,但它似乎比需要的更难,谷歌并不是很有帮助。这种不同的变化似乎不起作用:
$("#div").html(this.html().substring(0,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 强>
原来子串相对更快。
答案 1 :(得分:2)
如果div元素包含任何HTML(html元素),则.html()
将其作为字符串返回。 Example
注意:(这完全取决于你div的内在内容)
如果要截断纯文本,则应使用.text()
而不是.html()
试试这个:
$("#div").text(function(){
return $(this).text().substring(0,4);
});
答案 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);
});