You can't get the clicked element in a javascript: URL. The event has already finished, so there's no event.target (or window.event.srcElement for IE), and javascript: links are not invoked with this set (so you get window).
Of course if you know the link in question is id="test" you can do document.getElementById('test'), but I suspect that's rather missing the point of what you want to do.
I can set only href attribute. I can not set onclick event because this elements is generated by third party lib.
Fix or drop the lib. javascript: URLs are utter horrors that should never be used.
Can you add a <script> elsewhere in the page? If so you can inject a click event handler onto the element(s) without needing any extra markup. eg.:
for (var i= document.links.length; i-->0;)
if (document.links[i] is one of the links you want to target)
document.links[i].onclick= someHandlerFunction;
function someHandlerFunction() {
alert(this);
return false;
}
Indeed, assigning from JS (with on... or via addEventListener with attachEvent fallback for IE) is the best-practice way of adding event handlers anyway.