我有一个函数,它将一个锚/超链接添加到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
?我做错了什么?
答案 0 :(得分:3)
onclick
处理程序应该可以工作,即使它没有显示为属性。如果您确实要在HTML中添加onclick
属性use setAttribute
。
答案 1 :(得分:2)
正在添加 。它只是没有出现在HTML中。它几乎被添加了。
当您使用onclick = function
时,它会执行虚拟绑定,而不是实际添加属性。
如果您需要setAttribute("onclick","alert('ok');")
出现在HTML中,我需要使用{{1}}(我不知道为什么你会需要它)。