0

I have a function that adds an anchor/hyperlink to an element with ID "title".

    var a = document.createElement('a');
    a.innerHTML = "Link text";
    a.href = "http://example.com";
    a.style.fontSize = "14px";
    a.style.fontWeight = "normal";
    a.onclick = function() { alert('OK'); };

    // now add anchor to DOM
    $('title').insertBefore(a);

The link is added successfully to the DOM and its style attributes are set just fine, but not the onclick. Viz., this is what I get:

<a href="http://example.com" style="font-size: 14px; font-weight: normal;">Link text</a>

Why isn't the onclick added? What am I doing wrong?

4

2 回答 2

3

处理程序应该可以工作,onclick即使它没有显示为属性。如果您真的想onclick在 HTML 中添加属性,请使用setAttribute.

于 2013-11-06T19:26:04.077 回答
2

正在被添加。它只是没有显示在 HTML 中。它正在以虚拟方式添加。

当您使用onclick = function它时,它会进行虚拟绑定而不是实际添加属性。

如果您需要它出现在 HTML 中,则需要使用setAttribute("onclick","alert('ok');")它(我不确定您为什么需要它)。

于 2013-11-06T19:25:56.927 回答