如何在函数中通过变量名获取元素

Javascript: How to get element by variable name within the function?

本文关键字:变量名 获取 元素 函数      更新时间:2023-09-26
function(){
var btn=document.createElement("BUTTON");
var t=document.createTextNode("yes");
btn.appendChild(t);
document.body.appendChild(btn);
document.getElementById(btn).onclick = function() {next()};
}

我知道这是错误的,因为btn是一个变量名,而不是Id。有人能帮我改变我的第6行代码,这样我就可以运行函数next()后点击btn?

**我需要在这个函数中有我的命令,并且不能在这个函数之外做一个id

您已经有了对该元素的引用,所以使用

function functionName() {
    var btn = document.createElement("button");
    var t   = document.createTextNode("yes");
    btn.appendChild(t);
    document.body.appendChild(btn);
    btn.addEventListener('click', next, false);
}

小提琴

您已经在btn变量中有了按钮引用,因此将事件与btn变量附加在一起,参见blow

function(){
var btn=document.createElement("BUTTON");
var t=document.createTextNode("yes");
btn.appendChild(t);
document.body.appendChild(btn);
btn.onclick = function() {next()};
}

btn不是id,它是一个具有按钮对象引用的变量。

你可以直接添加onclick事件到btn变量:

btn.onclick = next;