Browser safe :
jQuery('a')[0].getAttribute('onclick');
Internet Explorer <8 has a completely broken implementation of setAttribute and getAttribute which deal with the property with the given name instead of the attribute.
I'm not aware of a work around.
How can I retrieve just the javascript, and not the wrapped function, in IE 6/7
You generally don't want to rely on string values for inline event handlers at all (in fact you should generally avoid using inline event handler attributes altogether in favour of binding to functions from script — especially if you're using jQuery, where this approach is the norm). But if you have to, the workaround is the DOM method getAttributeNode
.
var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);
Have you tried :
alert($('a').attr("onclick"))
In XHTML onClick is not the right version.
Better than adding onclick attribute is behalf of IE6 / IE7 this solution:
$("a").click(function () { .. anything to do .. })