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 文本的主要内容,如果未能解决你的问题,请参考以下文章

在Django中截断文本但向后方向

Ubuntu 中的 RODBC 将文本字符串截断为 255 个字符

Ubuntu中的RODBC将文本字符串截断为255个字符

在字符串的 5 个字符之前截断 UILabel 文本

你如何在 React 中截断 html 文本?

tds_fdw PostgreSQL 外部表将大文本截断为 2048 个字符