jquery attr(“onClick”) - ie和ff

时间:2009-12-02 16:15:31

标签: javascript jquery

使用jquery,我想从A标签的onClick属性中获取javascript。

<a href='#' onClick='alert("boo");' />

在Firefox中:alert($('a').attr("onClick"))显示:alert("boo")

在IE 6/7中:alert($('a').attr("onClick"))显示:function anonymous(){alert("boo");return false;}

如何使用jquery在IE 6/7中只检索javascript而不是包装函数? (或普通的javascript)?

弗兰科

5 个答案:

答案 0 :(得分:4)

  

如何在IE 6/7

中只检索javascript而不是包装函数

您通常不希望依赖于内联事件处理程序的字符串值(事实上,您通常应该完全避免使用内联事件处理程序属性来支持从脚本绑定到函数 - 特别是如果您使用的是jQuery,这种方法是常态)。但是如果必须,解决方法是DOM方法getAttributeNode

var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);

答案 1 :(得分:2)

Internet Explorer&lt; 8有一个完全破坏的setAttribute和getAttribute实现,它使用给定的名称而不是属性来处理属性

我不知道有什么工作。

答案 2 :(得分:2)

比添加 onclick 属性更能代表IE6 / IE7这个解决方案:

$("a").click(function () { .. anything to do .. })

答案 3 :(得分:0)

你试过了吗?

alert($('a').attr("onclick"))

在XHTML中,onClick不是正确的版本。

答案 4 :(得分:0)

浏览器安全:

jQuery('a')[0].getAttribute('onclick');