Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在设置元素的innerHTML时调用方法_Javascript_Html - Fatal编程技术网

Javascript 在设置元素的innerHTML时调用方法

Javascript 在设置元素的innerHTML时调用方法,javascript,html,Javascript,Html,在设置innerHTML时,我正在努力调用一个方法。 如果我忽略了一个直截了当的答案,我向你道歉,但现在我陷入了困境 请输入以下代码: "<a href='#' onclick='removeEntry('" + element.id + "')'><span class='fa fa-times'></span></a>" “” 你可以看到关于报价的事情一团糟。 是否有第三种方法可以键入引号或类似的东西,允许我调用“removentry(el

在设置innerHTML时,我正在努力调用一个方法。 如果我忽略了一个直截了当的答案,我向你道歉,但现在我陷入了困境

请输入以下代码:

"<a href='#' onclick='removeEntry('" + element.id + "')'><span class='fa fa-times'></span></a>"
“”
你可以看到关于报价的事情一团糟。 是否有第三种方法可以键入引号或类似的东西,允许我调用“removentry(element.id)”?我需要在element.id周围加引号才能调用removeEntry。有没有关于如何以不同方式解决此问题的建议?

您应该替换

事实上,问题在于您当前的代码,
a
标记
onclick
属性看起来像
onclick='removentry('myId')'

注意,这里有重叠的简单引号,打断了函数调用。用转义的双引号替换
id
简单引号,它将为您提供
onclick='removentry(“myId”)'
很好:)

编辑:无论如何,如果您的目标是最近的浏览器,您可以尝试,这将为您提供以下信息:

var html=`

这有助于避免与报价发生冲突。请注意,模板文本中包含的变量看起来像PHP
'<a href="#" onclick="removeEntry(' + element.id + ')">
   <span class="fa fa-times"></span>
</a>'
这应该行得通您可以将双引号编码为单引号,并且希望将整个表达式作为字符串。因此,可以将带有变量的字符串写成 string1=string2+变量+string3

或者,对于JavaScript中的多行字符串,可以使用反勾号

`<a href="#" onclick="removeEntry(' + element.id + ')">
       <span class="fa fa-times"></span>
 </a>`
``
这是:

"<a href='#' onclick='removeEntry('" + element.id + "')'><span class='fa fa-times'></span></a>"
要创建这样的元素,请执行以下操作:

<a href='#' onclick='removeEntry('someId')'><span class='fa fa-times'></span></a>
"<a href='#' onclick='removeEntry(\"" + element.id + "\")'><span class='fa fa-times'></span></a>"
<a href='#' onclick='removeEntry("someId")'><span class='fa fa-times'></span></a>
"<a href='#' onclick='removeEntry(\\'" + element.id + "\\')'><span class='fa fa-times'></span></a>"
<a href='#' onclick='removeEntry(\'someId\')'><span class='fa fa-times'></span></a>
要创建这样的元素,请执行以下操作:

<a href='#' onclick='removeEntry('someId')'><span class='fa fa-times'></span></a>
"<a href='#' onclick='removeEntry(\"" + element.id + "\")'><span class='fa fa-times'></span></a>"
<a href='#' onclick='removeEntry("someId")'><span class='fa fa-times'></span></a>
"<a href='#' onclick='removeEntry(\\'" + element.id + "\\')'><span class='fa fa-times'></span></a>"
<a href='#' onclick='removeEntry(\'someId\')'><span class='fa fa-times'></span></a>


它可以工作!谢谢你让我不再头疼了。逃离格言对我来说是新鲜事,但从现在起我肯定会记住它:)@Tøffelen不客气!检查编辑,如果您可以使用ES6模板文字,可能会对您有所帮助:)请包括一些解释,说明为什么这可能会解决op的问题。还记得在JS上定义的可能性。