Javascript 代码,未终止的字符串文字

标签 javascript jquery

错误控制台: 未终止的字符串文字

$html='<li><div class="above">'+$question_number+ 'Question Title</div>

JQuery 代码是:

$html='<li><div class="above">'+$question_number+ 'Question Title</div>
<div class="middle"> <input type="text" name="question'+$question_number+ '" size="55"/></div>
<div class="below">'+$question_number+ ' <input type="text" name="option'+$question_number+ '" size="6"/>'+$question_number+ '<input type="text" name="option'+$question_number+ '" size="6"/>
   <input class="btn" type="button" name="Submit" value="Add" />
   <input class="btn" type="button" name="Submit" value="Remove" />
   </div>
</li>';

我知道 $html 的值很长,但如何才能摆脱“未终止字符串字面量”的陷阱呢?有没有更好的方法来解决这个问题?

最佳答案

如果您要在多行上运行字符串文字,则您的行需要续行符。在每行末尾放置一个 "\" 字符或使用字符串连接。换句话说,你可以把错误的:

$html='<li><div class="above">' + $question_number + 'Question Title</div>
<div class="middle"> ... ';

进入:

$html='<li><div class="above">' + $question_number + 'Question Title</div>\
 <div class="middle"> ... ';

或:

$html='<li><div class="above">' + $question_number + 'Question Title</div>' +
    ' <div class="middle"> ... ';

您实际上并不需要您的 HTML 格式很好,但是,如果您真的希望它采用可以很好地打印的形式,您也可以将嵌入的换行符放入其中:

$html='<li><div class="above">' + $question_number + 'Question Title</div>\n' +
    '<div class="middle"> ... ';

为了代码的可读性,我会使用类似的东西:

$html = \
    '<li>' +
    '  <div class="above">' + $question_number + 'Question Title</div>' +
    '  <div class="middle">' +
    '    <input type="text" name="question' + $question_number+ '" size="55"/>' +
    '  </div>' +
    '  <div class="below">' + $question_number + 
    '    <input type="text" name="option' + $question_number +
    '      " size="6"/>' + $question_number +
    '    <input type="text" name="option' + $question_number + '" size="6"/>' +
    '    <input class="btn" type="button" name="Submit" value="Add" />' +
    '    <input class="btn" type="button" name="Submit" value="Remove" />' +
    '  </div>' +
    '</li>';

然后将其通过压缩器以获得更短的分发版本。

关于Javascript 代码,未终止的字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733397/

相关文章:

javascript - 添加隐藏属性来存储其他属性值

javascript - 如何在单击按钮时切换两个不同输入的文本?

javascript - 无法从动态创建的选择下拉列表中检索值

javascript - dlib http 服务器将网站显示为纯 html,没有 javascript/css

javascript - 单击后类之间的内容如何放入变量?

javascript - 未定义不是试图在另一个类中创建一个类的新实例的构造函数

javascript - 弹出式 div,固定但太大时可滚动

javascript - GET 表单 php/Ajax 的问题

jquery - 将鼠标悬停在缩略图上会使用 CSS 更改更大的 div

jquery - bootstrap 3在按下浏览器后退按钮时关闭模态