html字符串连接未捕获的SyntaxError:缺少

问题描述

我有这个

html += "<li><a href='#' onclick=viewResult(" +  my.ResultString + ") data-toggle='modal'>" + "View result" + "</a></li>";

但是javascript抛出错误,是否有任何方法可以使字符串在其中运行?

解决方法

字符串文字可能很有用。 请注意,我们正在将带引号的字符串传递到viewResult()函数中。

 html += `<li>
    <a href='#' onclick="viewResult('${my.ResultString}')" data-toggle='modal'>
       View result
   </a>
   </li>`
,

如果您要这样做,则需要将onclick属性的值括在引号中,并且我将您的 li 标记引号更改为单引号,以便更轻松地嵌入内容。

html += '<li><a href='#' onclick="viewResult(' +  my.ResultString + ')" data-toggle='modal'>View result</a></li>';

尽管我更喜欢使用字符串文字:

html += `<li><a href='#' onclick="viewResult(${my.ResultString})" data-toggle='modal'>View result</a></li>`;

这使您的代码看起来如此精美,并且无需使用 + 符号和不同引号就可以更轻松地跟踪要嵌入的内容一团糟。