javascript创建带有onclick的按钮

javascript创建带有onclick的按钮,javascript,dom,createelement,Javascript,Dom,Createelement,我正试图使用javascript创建一个按钮,该按钮具有一个onclick事件,该事件调用头部中定义的函数,该函数接受一个相对于按钮的dom对象作为参数。我该怎么做 例: 最后,我希望新按钮与现有按钮相同 function createButton(context, func) { var button = document.createElement("input"); button.type = "button"; button.value = "im a butto

我正试图使用javascript创建一个按钮,该按钮具有一个onclick事件,该事件调用头部中定义的函数,该函数接受一个相对于按钮的dom对象作为参数。我该怎么做

例:

最后,我希望新按钮与现有按钮相同

function createButton(context, func) {
    var button = document.createElement("input");
    button.type = "button";
    button.value = "im a button";
    button.onclick = func;
    context.appendChild(button);
}

window.onload = function() {
    createButton(document.body, function() {
        highlight(this.parentNode.childNodes[1]);
        // Example of different context, copied function etc
        // createButton(this.parentNode, this.onclick);
    });
};

这就是您想要的吗?

您还可以使用内置的setAttrbute javascript函数

var newButton=document.createElement(“按钮”)

newButton.setAttribute(“onclick”,“blah(this.parentNode.value)”)
您能解释一下为什么要这样做吗,也许有一个更好的解决方案可以解决您正在做的事情……它有点(不必要)复杂,但我会试试。因此,原始按钮将创建一堆内容并删除自身。在创建的内容中有另一个按钮,它将重新创建原始按钮,该按钮可以创建另一组内容,因此我不认为它解决了DOM问题,因为传入的参数与按钮有关:(@zaftcoAgeiha我不知道这是什么意思。请你解释一下你想要什么。编辑::再次检查帖子。好的,我需要能够动态创建此突出显示并使其可点击。我得到错误“Uncaught TypeError:无法读取undefined的属性“1”。我认为问题在于javascript认为“this”指的是js对象,而不是HTMLDOMobj@zaftcoAgeiha这可能是因为我输入了“childNotes”而不是“childNodes”…代码正常工作。
var newButton = document.createElement("button");
???
function createButton(context, func) {
    var button = document.createElement("input");
    button.type = "button";
    button.value = "im a button";
    button.onclick = func;
    context.appendChild(button);
}

window.onload = function() {
    createButton(document.body, function() {
        highlight(this.parentNode.childNodes[1]);
        // Example of different context, copied function etc
        // createButton(this.parentNode, this.onclick);
    });
};