我的JavaScript输出链接(搜索结果),但我在锚标记锚标记使用Javascript,Javascript中
var str = "<a href='#bokvisning' onclick='javascript:$(#bokvisning_content).load('http://www.akademika.no/node/"+item.link+"')'>" + item.title + "</a>";
它输出该添加的onclick有问题,至极是错误的:
<a href="#bokvisning" onclick="javascript:$(#bokvisning_content).load(" http:="" www.akademika.no="" node="" link')'="">Title</a>`
这可能吗?我还有什么其他选择?
+1总是使用类似DOM的方法,而不是不可靠和不安全的HTML字符串索引,尤其是对于事件处理程序,其中您有多个嵌套转义上下文。然而,这里仍然有一个HTML注入漏洞(如果'item.title'是用户提供的,则可能是XSS)。我建议使用'$('',{text:item.title})...'快捷键来避免这种情况。 – bobince 2010-11-01 13:11:01
@bobince - 良好的调用,虽然稍有不同,但在html字符串*和*属性对象[抛出错误](http://www.jsfiddle.net/nick_craver/297Cm/)中具有属性,尽管它确实应该处理。 – 2010-11-01 13:27:54
哦!你是对的,它是'html,document'重载而不是'html,props'。我从来没有注意到这一点,因为我一直设置'props'中的每个属性,就像你的例子。噢亲爱的!我希望jQuery没有试图将所有的东西都放到一个'$()'属性中,这种价值级的超载是疯狂的! – bobince 2010-11-01 13:58:47