【发布时间】:2015-03-11 17:49:02
【问题描述】:
我有这样的字符串:
var content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 阿里夸Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 偏执。 Exceptioneur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est labourum。”
句子会以左侧扁平html格式显示,像这样:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 阿里夸Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 偏执。 Exceptioneur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est labourum。
如何使用 JavaScript 将行尾剩余的多余空格替换为负 (-) 字符,从而使句子对齐对齐,从而得到这样的结果?
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 阿里夸Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore-eu fugiat nulla 偏执。 Exceptioneur sint occaecat cupidatat non proident, sunt in 过失官方-------- deserunt mollit anim id est labourum.-------------------------------- -------------------------------------------------- -
输出应该是这样的output
必须保留报告的原始格式,因此不允许更改它
我尝试使用此代码jsfiddle 来实现这一点
var html = content.split(" ");
var htmlTmp = "";
var result = "";
var limitlength = 40;
var linelength = 50;
for(var i=0; i< html.length; i++) {
var htmlTmp_length = htmlTmp.length;
if(htmlTmp_length > limitlength) {
result += html[i] + " ";
if(htmlTmp_length < linelength) {
for(j=0;j<(linelength - htmlTmp_length);j++) {
result += "-";
}
}
result += "<br/>";
htmlTmp = "";
}
else {
result += html[i] + " ";
htmlTmp += html[i] + " ";
}
}
$(".content2").html(result);
但它似乎不起作用,因为每个字母占用不同的空间。
【问题讨论】:
-
如果你只想在最后一行强制对齐,你可以使用 CSS
text-align: justify; text-align-last: justify; white-space: pre -
您可能需要使用正则表达式来选择和替换多个空白字符。请努力并返回一个更具体的问题。
-
OP 试图做的事情对我来说没有意义。
-
jQuery 适合你吗?
-
@all ,我已经更新了问题
标签: javascript for-loop text replace split