Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
HTML和JavaScript中引用转义的第三级_Javascript_Jquery_Html_Jquery Tools - Fatal编程技术网

HTML和JavaScript中引用转义的第三级

HTML和JavaScript中引用转义的第三级,javascript,jquery,html,jquery-tools,Javascript,Jquery,Html,Jquery Tools,我将以这样一句话作为开场白:“我知道这是一个糟糕的做法,是一个丑陋的黑客(我很抱歉),但是……” 我使用jQuery工具的工具提示小部件在用户悬停在html元素上时显示该元素的工具提示。使用此小部件,您可以将工具提示的html添加到元素的title属性中 在html的内部有一个元素,我想将内联onclick事件处理程序绑定到该元素上 不幸的是,我遇到了太多的引号层,无法将参数传递给我试图调用的函数 我有这样的想法: <div title="<div onclick='myFuncti

我将以这样一句话作为开场白:“我知道这是一个糟糕的做法,是一个丑陋的黑客(我很抱歉),但是……”

我使用jQuery工具的工具提示小部件在用户悬停在html元素上时显示该元素的工具提示。使用此小部件,您可以将工具提示的html添加到元素的
title
属性中

在html的内部有一个元素,我想将内联
onclick
事件处理程序绑定到该元素上

不幸的是,我遇到了太多的引号层,无法将参数传递给我试图调用的函数

我有这样的想法:

<div title="<div onclick='myFunction(_____)'>My tooltip content</div>">My element</div>
<div title="<div onclick='myFunction(&quot;_____&quot;)'>My tooltip content</div>">My element</div>
我的元素

如果我需要将一个整数传递给
myFunction
,这是可行的,因为它不需要另一组引号。不幸的是,我想向
myFunction
传递一个字符串。如何进一步转义此字符串参数,使其不会关闭
onclick
title
字符串?

在HTML属性中,您应该将引号编码为HTML实体,例如:

<div title="This says &quot;Hello!&quot;">
    Hello!
</div>

你好

我找到了解决我特定问题的方法。我不确定这在一般情况下是否有效,或者jQuery工具是否正在做一些神奇的事情来取消我的字符串的外观,但我最终用
进行了转义,并且它确实计算为执行的有效Javascript

大概是这样的:

<div title="<div onclick='myFunction(_____)'>My tooltip content</div>">My element</div>
<div title="<div onclick='myFunction(&quot;_____&quot;)'>My tooltip content</div>">My element</div>
我的元素

老实说,我真的不明白这是怎么回事。如果有人能澄清一下流程的哪一部分正在将这些
更改为实际的函数引号,我会很高兴的。

在这里查看一个类似的问题:谢谢@wilsjd,这确实是一个有效的解决方案。这很有效。你能解释一下这是否是HTML的一部分,它允许
”作为JavaScript函数中的常规引号运行,或者这是jQuery工具的神奇之处,或者是其他原因吗?它与JavaScript无关。这就是在双引号HTML属性中转义双引号的方法。它类似于JavaScript中的
alert(“这表示”你好“)