0

我在 span div 下面有这个,我将它复制到 DOM 中的另一个位置。但是我需要删除 onclick 函数并放置另一个 onclick 函数。

<span class="plus childNode1" onclick="expand_collapseChildnodes('childNode1')" id="abc"></span>

在这里,我必须删除复制元素的 onclick="expand_collapseChildnodes('childNode1')" 并将其替换为 onclick="checkNodes('childNode1')"

4

3 回答 3

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);
于 2013-08-20T09:34:38.463 回答
1

http://jsfiddle.net/KvnKZ/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);
于 2013-08-20T09:43:07.240 回答
0
document.getElementById("abc").onclick = function (){checkNodes('childNode1');}
于 2013-08-20T09:42:03.780 回答