JavaScript中需要第三种引号
Need third kind of quotation marks in JavaScript
我正在使用 javascript 更改 HTML。因此,我有一个保存 HTML 代码的字符串,因为它是在 for 循环中生成的。其中有一个 <a>
标签。在 <a>
标签中,我想添加一个 onClick
来调用一个函数,该函数的参数保存在 javascript 变量中。
let parameter = "p1";
let to_html_String = "<a href='#' onClick='create_sprite_window("+parameter+")'></a>";
document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;
这不起作用,因为它会产生以下结果 html:
<a href='#' onClick='create_sprite_window(p1)'></a>
不行,因为p1前后没有引号。
我的问题是我需要第三种引号才能解决这个问题。
在下面的示例中,我将在需要引号的地方使用#:
let parameter = "p1";
let to_html_String = "<a href='#' onClick='create_sprite_window(#"+parameter+"#)'></a>";
document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;
我不能使用单引号,因为它会结束 onClick,我不能使用双引号,因为它会结束 to_html_String。
是否有第三个引号或有其他方法可以解决这个问题?
这会起作用
"<a href='#' onClick='create_sprite_window('"+parameter+"')></a>";
如果您使用的是 ES6,则可以像
这样使用 template strings
let foo = `Hello "World's"`;
无论如何 - 你为什么不转义你的引号?
let bar = 'hello \' world';
let buz = "hello \" world";
不要使用 JavaScript 构建 HTML。 DOM API 可以让您干净安全地构建文档节点,甚至可以附加事件侦听器,因此您不必在 HTML 中构建 JavaScript 字符串在 JavaScript.
建造
let parameter = "p1";
const link = document.createElement('a');
link.href = '#';
link.textContent = 'maybe you want something in this link?';
link.addEventListener('click', function (e) {
e.preventDefault();
create_sprite_window(parameter);
});
document.getElementById('sidebar_left_sprites')
.appendChild(link);
/* 使用\'与函数单引号区分*/
让参数="p1";
让 to_html_String = "";
document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;
我正在使用 javascript 更改 HTML。因此,我有一个保存 HTML 代码的字符串,因为它是在 for 循环中生成的。其中有一个 <a>
标签。在 <a>
标签中,我想添加一个 onClick
来调用一个函数,该函数的参数保存在 javascript 变量中。
let parameter = "p1";
let to_html_String = "<a href='#' onClick='create_sprite_window("+parameter+")'></a>";
document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;
这不起作用,因为它会产生以下结果 html:
<a href='#' onClick='create_sprite_window(p1)'></a>
不行,因为p1前后没有引号。 我的问题是我需要第三种引号才能解决这个问题。 在下面的示例中,我将在需要引号的地方使用#:
let parameter = "p1";
let to_html_String = "<a href='#' onClick='create_sprite_window(#"+parameter+"#)'></a>";
document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;
我不能使用单引号,因为它会结束 onClick,我不能使用双引号,因为它会结束 to_html_String。
是否有第三个引号或有其他方法可以解决这个问题?
这会起作用
"<a href='#' onClick='create_sprite_window('"+parameter+"')></a>";
如果您使用的是 ES6,则可以像
这样使用 template stringslet foo = `Hello "World's"`;
无论如何 - 你为什么不转义你的引号?
let bar = 'hello \' world';
let buz = "hello \" world";
不要使用 JavaScript 构建 HTML。 DOM API 可以让您干净安全地构建文档节点,甚至可以附加事件侦听器,因此您不必在 HTML 中构建 JavaScript 字符串在 JavaScript.
建造let parameter = "p1";
const link = document.createElement('a');
link.href = '#';
link.textContent = 'maybe you want something in this link?';
link.addEventListener('click', function (e) {
e.preventDefault();
create_sprite_window(parameter);
});
document.getElementById('sidebar_left_sprites')
.appendChild(link);
/* 使用\'与函数单引号区分*/
让参数="p1"; 让 to_html_String = ""; document.getElementById('sidebar_left_sprites').innerHTML = to_html_String;