JQuery:在 4 个字符后截断 div 文本
Posted
技术标签:
【中文标题】JQuery:在 4 个字符后截断 div 文本【英文标题】:JQuery: Cut off div text after 4 characters 【发布时间】:2014-08-03 17:28:42 【问题描述】:我只想显示 div 的前四个字符,但这似乎比需要的要困难,而且 google 也不是很有帮助。对此的不同变体似乎不起作用:
$("#div").html(this.html().substring(0,4));
我真的很想避免在其中有一个额外的变量来首先存储文本。
【问题讨论】:
【参考方案1】:为.html()
使用回调,
$('#div').html(function(i, currentHtml)
return currentHtml.substring(0, 4);
);
Demo
如果 div 仅包含纯文本,您也可以在这种情况下使用 .text()
。
$("#div").text(function(i, currentText)
return currentText.substring(0, 4);
);
参考:
Slice vs Substring
原来子字符串相对更快。
JsPerf test : slice() vs substring() vs others
【讨论】:
【参考方案2】:如果 div 元素包含任何 HTML(html 元素),则 .html()
将其作为字符串返回。 Example
注意:(这完全取决于你的div的内部内容)
如果你想截断纯文本,你应该使用.text()
而不是.html()
试试这个:
$("#div").text(function()
return $(this).text().substring(0,4);
);
Working Fiddle
【讨论】:
是的,本例中有一些 HTML 元素,但感谢添加!【参考方案3】:试试这个:
$("#div").html(function()
return $(this).html().substring(0,4)
);
它也会计算空间...如果有的话。
像DIV有“测试四3”会给你输出“测试”
【讨论】:
【参考方案4】:为此目的使用 slice() :
$("#div").text(function()
return $(this).text().slice(0,4);
);
【讨论】:
以上是关于JQuery:在 4 个字符后截断 div 文本的主要内容,如果未能解决你的问题,请参考以下文章