我有以下跨度div,我将其复制到DOM中的另一个位置。但是我需要删除onclick函数并放置另一个onclick函数。
<span class="plus childNode1" onclick="expand_collapseChildnodes('childNode1')" id="abc"></span>
在这里,我必须为复制的元素删除onclick =“expand_collapseChildnodes('childNode1')”并将其替换为onclick =“checkNodes('childNode1')”
答案 0 :(得分:3)
考虑一个示例HTML页面:
<html>
<head>
</head>
<body>
<div id ="d1">
<span class="plus childNode1" onclick="expand_collapseChildnodes('childNode1')" id="abc"></span>
</div>
<div id ="d2">
</div>
</body>
</html>
现在将ID abc 的元素从ID为 d1 的DOM元素移动到另一个ID d2
//get the element
var element = document.getElementById("abc");
//detach from source
document.getElementById("d1").removeChild(element);
//remove onclick attribute
element.removeAttribute("onclick");
//add the modified attribute
element.setAttribute("onclick", "sampleFunc()");
//attach the element to another source
document.getElementById("d2").appenChild(element);
答案 1 :(得分:1)
var div=document.getElementsByTagName("div");
var span=document.getElementById("abc");
var newSpan=span.cloneNode(true);
newSpan.setAttribute("id","newID"); //change id
newSpan.setAttribute("onclick","myFunc()"); //change onclick event handler
div[0].appendChild(newSpan);
答案 2 :(得分:0)
document.getElementById("abc").onclick = function (){checkNodes('childNode1');}