我有这样的字符串:
var content =“Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor在代表性的velitate velit esse cillum dolore eu fugiat nulla pariatur . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum . “
句子将以左平面html格式显示,如下所示:
Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat . Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .
如何使用JavaScript将行末尾的任何剩余额外空格替换为负( - )字符,这使得句子变得对齐,所以我得到这样的结果?
Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat . Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore- eu fugiat nulla pariatur . 不受欢迎的圣徒occaecat cupidatat non proident,sunt in culpa qui officia -------- deserunt mollit anim id est laborum .----------------------- -------------------------------------------------- ----------
输出应该是这样的output
The original formatting of the report MUST be retained, so changing it is not allowed
我尝试使用此代码实现这一点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 += "
";
htmlTmp = "";
}
else {
result += html[i] + " ";
htmlTmp += html[i] + " ";
}
}
$(".content2").html(result);
但它似乎不起作用,因为每个字母占用不同的空间 .
1 回答
这是你需要的吗?
JSFiddle:http://jsfiddle.net/wnalfl3737/nkf3ob55/6/