【发布时间】:2014-08-03 17:28:42
【问题描述】:
我只想显示 div 的前四个字符,但这似乎比需要的要困难,而且 google 也不是很有帮助。对此的不同变体似乎不起作用:
$("#div").html(this.html().substring(0,4));
我真的很想避免在其中有一个额外的变量来首先存储文本。
【问题讨论】:
标签: javascript jquery html text
我只想显示 div 的前四个字符,但这似乎比需要的要困难,而且 google 也不是很有帮助。对此的不同变体似乎不起作用:
$("#div").html(this.html().substring(0,4));
我真的很想避免在其中有一个额外的变量来首先存储文本。
【问题讨论】:
标签: javascript jquery html text
为.html() 使用回调,
$('#div').html(function(i, currentHtml) {
return currentHtml.substring(0, 4);
});
如果 div 仅包含纯文本,您也可以在这种情况下使用 .text()。
$("#div").text(function(i, currentText) {
return currentText.substring(0, 4);
});
参考:
原来子字符串相对更快。
【讨论】:
如果 div 元素包含任何 HTML(html 元素),则 .html() 将其作为字符串返回。 Example
注意:(这完全取决于你的div的内部内容)
如果你想截断纯文本,你应该使用.text()而不是.html()
试试这个:
$("#div").text(function(){
return $(this).text().substring(0,4);
});
【讨论】:
试试这个:
$("#div").html(function(){
return $(this).html().substring(0,4)
});
它也会计算空间...如果有的话。
像DIV有“测试四3”会给你输出“测试”
【讨论】:
为此目的使用 slice() :
$("#div").text(function(){
return $(this).text().slice(0,4);
});
【讨论】: