"<button onclick=editRecords('" + partId + "')>Add Quantity</button>";
Run Code Online (Sandbox Code Playgroud)
如果我传递的partId字符串没有空格,它工作正常.但如果我通过'MRF 01',它就会给我
未捕获的SyntaxError:意外的标记ILLEGAL.
为什么这样,我该如何解决?
将空格作为函数参数传递时使用.如果使用js生成onclick,请使用encodeURIComponent.
"<button onclick=editRecords('" + encodeURIComponent(partId) + "')>Add Quantity</button>";
Run Code Online (Sandbox Code Playgroud)
从海报本人。这是一个主要基于意见的答案,使用单引号没有任何常规用法(我发现了C语法,现在我更喜欢双引号...)。
我宁愿更改引号的组织以便获得更简洁的代码。从我的角度来看,这将使其更具可读性和常规性:
var msg = 'Sometimes SO looks like a McDonalds drive through.';
var html = '<button onclick="clickHandler(\'' + msg + '\')">click me</button>';
function clickHandler (msg) { alert(msg); }
document.body.innerHTML = html;Run Code Online (Sandbox Code Playgroud)
更为传统的做法是遵循Felix Kling的智慧(最后一行)。
| 归档时间: |
|
| 查看次数: |
13352 次 |
| 最近记录: |