【发布时间】:2014-12-07 18:59:11
【问题描述】:
我正在尝试使用以下 Javascript 构建自定义 HTML/Javascript 命令(目前,“dialogText”包含蔬菜的名称,但以后也可能包含 HTML 标签):
str = str + "<span onClick=showDialog('"+dialogText+"')>";
当 dialogText 只有一个词长(即“Basil”)时,它可以正常工作,结果如下:
<span onclick="showDialog('Basil')">
但是当 dialogText 包含多个单词(即“Beet root”)时,此操作会失败。结果在语法上无效并生成 Javascript 错误:
<span onclick="showDialog('Beet" root')="">
为什么会发生这种情况(等号从何而来?)?
我怎样才能更改代码以使其正常工作?
【问题讨论】:
-
避免使用内联事件处理程序,您不必转义引号。
标签: javascript escaping quotes