如何在javascript中连接多行字符串?

use*_*287 4 javascript append

对于附加的正确语法有很多结果<li>,但我试图找到一个解决方案,其中+this['name']+值包含在<li>'s中.firebug正在显示'SyntaxError: unterminated string literal',jslint正在显示'Unclosed string'.我已尝试过逗号的多个不同版本,但我无法让它工作.

 $.each(data.result, function() {
     $("ul").append("<li>Name: "+this['name']+"</li>
                     <li>Age: "+this['age']+"</li>
                     <li>Company: "+this['company']+"</li>
                     <br />");
 });
Run Code Online (Sandbox Code Playgroud)

谢谢.

Sim*_*ias 10

你可以使用反斜杠字符来逃避行尾\,如下所示:

 $.each(data.result, function(){
 $("ul").append("<li>Name: " + this['name'] + "</li> \
     <li>Age: " + this['age'] + "</li> \
     <li>Company: "+this['company']+"</li> \
     <br />");
 });
Run Code Online (Sandbox Code Playgroud)

这是因为Javascript会在某一行自动插入半列.在这种情况下,你的字符串不是很接近.另一个解决方案是关闭每一行上的每个字符串,并使用+它们连接所有字符串.

 $.each(data.result, function(){
 $("ul").append("<li>Name: " + this['name'] + "</li>" +
     "<li>Age: " + this['age'] + "</li>" +
     "<li>Company: "+this['company']+"</li>" +
     "<br />");
 });
Run Code Online (Sandbox Code Playgroud)

(不相关,但<br/>不允许在<ul>元素内部)

  • 绝对适合这里提出的第二个解决方案 (3认同)