我将在序言中写道:“我知道这是不好的做法,也是一个丑陋的黑客(我很抱歉)但是......”
我正在使用jQuery TOOL的工具提示小部件在用户将鼠标悬停在html元素上时显示工具提示。使用此小部件,您可以将工具提示的html添加到元素的title
属性。
在html内部,我有一个元素,我想绑定一个内联onclick
事件处理程序。
不幸的是,我遇到了太多的引号层,无法将参数传递给我试图调用的函数。
我有这样的事情:
<div title="<div onclick='myFunction(_____)'>My tooltip content</div>">My element</div>
如果我需要将整数传递给myFunction
,这是有效的,因为它不需要另一组引号。不幸的是我想将一个字符串传递给myFunction
。如何进一步转义此字符串参数,以便它不会关闭onclick
或title
字符串?
答案 0 :(得分:8)
在HTML属性中,您应该将引号编码为HTML实体,例如:
<div title="This says "Hello!"">
Hello!
</div>
答案 1 :(得分:0)
我能够找到解决我特定问题的方法。不确定这是否适用于一般情况,或者jQuery TOOLs是否正在做一些神奇的事情以取消我的字符串,但我最终逃脱了"
并且它确实评估了已执行的有效Javascript。
这样的事情:
<div title="<div onclick='myFunction("_____")'>My tooltip content</div>">My element</div>
我真的不明白这是多么诚实。如果有人能够澄清这个过程的哪个部分正在将这些"
变成实际的功能引用,那就太喜欢了。