将引号传递给javascript函数中html元素内的onclick事件

时间:2012-06-20 19:15:53

标签: javascript javascript-events

这似乎是一个步骤比我见过的类似帖子更复杂:
我在js函数中创建了以下行:

content.push("<input type='button' value='Use This Location' onclick='alert(" + result.location.y + "," + result.location.x + ")'/>");

结果是一个带有以下内容的按钮: onclick="alert(40.7445068,-73.9834671)"

但我希望结果如下: onclick="alert('40.7445068,-73.9834671')"

或..你知道..只是..但是要让警报显示文字,而不仅仅是第一个数字。

如何重新格式化原始块中的引号以实现此目的?

谢谢!

答案:

非常感谢大家!您的输入(没有预期)导致了一个可行的解决方案: content.push('<input type="button" value="Use This Location" onclick="alert(&#39;'+ result.location.y + "," + result.location.x + '&#39;)" />');

由于它是javascript中的HTML内的javascript,我将push方法作为单引号而不是原始的双引号传递,然后我能够使html元素双引号和onclick单引号。然后我不得不使用&#39;而不是&#34,因此我可以在HTML中插入特殊的单引号。

再次,非常感谢。所有评论都是解决问题的关键/我很感激!

PS:很抱歉通过编辑回答:显然我需要再等7个小时才能正式回答我自己的问题,因为我的声誉有限。

3 个答案:

答案 0 :(得分:1)

content.push("<input type='button' value='Use This Location' onclick='alert(\"" +
result.location.y + ',' + result.location.x + "\")'/>");

编辑:修改了一些代码。

答案 1 :(得分:0)

您应该只能添加转义的单引号(例如\&#39;)

所以改变

onclick='alert(" + result.location.y + "," + result.location.x + ")'

onclick='alert(\'" + result.location.y + "," + result.location.x + "\')'

编辑:格式化问题

答案 2 :(得分:0)

非常感谢大家!您的输入(没有意图)导致了一个可行的解决方案: content.push('<input type="button" value="Use This Location" onclick="alert(&#39;'+ result.location.y + "," + result.location.x + '&#39;)" />');

由于它是 Javascript 中 HTML 中的 Javascript,我将 push 方法作为单引号而不是原始双引号传递,然后我能够使 html 元素双引号和 onclick 单引号。然后我不得不使用 &#39; 而不是 &#34 以便我可以在 HTML 中插入一个特殊的单引号。

再次,非常感谢。所有评论都是解决的关键/我很感激!