为什么Javascript不会添加onclick

Why won't Javascript add onclick?

本文关键字:添加 onclick Javascript 为什么      更新时间:2023-09-26

我有一个函数,可以将锚点/超链接添加到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);

链接已成功添加到 DOM 中,并且其样式属性设置得很好,但不是onclick。 即,这就是我得到的:

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

为什么不添加onclick?我做错了什么?

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

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

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

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