0

例如,如果我写长文本:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

文本超出了页面,我有一个修复它的想法,每 100 个字符后我可以制作一个<br />标签。但我不知道该怎么做。

谢谢你的帮助!

4

2 回答 2

7

只需在要强制换行的元素上使用以下 CSS 属性:

word-wrap: break-word;

无需任何 JavaScript!

如果您真的想使用 JavaScript(用于概念;CSS 更易于访问和简化),那就继续吧。

哦,还有一件事,如果您使用的字体不是等宽字体(而是成比例的),那么在 100 个字符处截断可能是无效的。一行可以有 100 个 'i' 字符,下一行有另外一百个 'm' 字符,它们的大小非常不同。

哦,还有件事,你不能只在 上应用正则表达式替换,innerHTML除非它都是文本。如果那里可能有其他元素,您实际上必须遍历节点,将该技术仅应用于文本节点。

哦,还有件事,不要打扰。用javascript做的问题太多了。

于 2010-07-07T11:02:17.363 回答
1

你可以试试下面的代码

str = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

len = str.length;
loop = len / 100;
document.write(loop);
document.write('<br>');

for(i=0; i<=loop; i++){
  document.write( str.slice( i*100, (i*100)+100) );
  document.write('<br>');
}
于 2010-07-07T11:07:45.747 回答