我试图在 UI 上的某些功能中返回一个按钮并得到一个奇怪的错误。有人可以帮忙吗。
var div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>"
我得到的错误是:
参数列表后缺少 )。
我试图在 UI 上的某些功能中返回一个按钮并得到一个奇怪的错误。有人可以帮忙吗。
var div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>"
我得到的错误是:
参数列表后缺少 )。
onclick="javascript:displayDetails('+value1+','+value2+');"
Not
onclick='javascript:displayDetails('+value1+','+value2+');'
Use `` which supports multiple lines instead of '' and to avoid nested "":
const div = `
<button onclick="javascript:displayDetails('+value1+','+value2+');">
View
</button>`;
Not
const div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>"
Then you will not need to espace
最新版本的 JavaScript(ES2015,以前/也称为 ES6)现在支持“模板字符串”,可以帮助避免这种引用/转义的噩梦。使用字符串周围的“反引号”(又名重音符号)来表示模板字符串,以及${value}
您希望“插值”(包含)到字符串中的每个值的模板语法:
var div = `<button onclick="javascript:displayDetails(${value1},${value2});">View</button>`;
一般来说,最好选择一个标准,你将在什么时候使用引号。许多现代 JavaScript 样式指南更喜欢用单引号 ( '
) 表示普通字符串,而用双引号 ( "
) 表示周围的 HTML(或 XML)属性。现在拥有第三种引号机制意味着您不必经常使用反斜杠转义引号 - 很好,因为转义很烦人,容易出错并且不清晰。
You should escape:
var div = "<button onclick=\"javascript:displayDetails('+value1+','+value2+');\">View</button>"