无法在JavaScript中为已创建的DOM元素设置ID属性

Sha*_*awn 3 javascript dom

我正在尝试将ID设置为使用JavaScript创建的元素.但是,当我运行代码时,我收到以下错误消息:

未捕获的TypeError:dwarfButton.setAttribute不是函数

我在这里进行了研究,它几乎说如果我想为我创建的一个元素添加一个ID属性,我必须使用setAttribute("id", "whatever-else-here"),但是我收到一条错误消息,说明它不是一个函数?

$(document).ready(function() {
    game.start();
});

var 
game = {
    start: function() {
        logMessage("Welcome to the Arena!");
        logMessage("Select your Fighter.");
        var dwarfButton = chatbox.appendChild(document.createElement("button")).textContent = "DWARF";
        dwarfButton.setAttribute("id", "dwarf");
    },
Run Code Online (Sandbox Code Playgroud)

Ale*_*ara 5

你问题在于以下几点:

var dwarfButton = chatbox.appendChild(document.createElement("button")).textContent = "DWARF";
dwarfButton.setAttribute("id", "dwarf");
Run Code Online (Sandbox Code Playgroud)

你在这里有一些链接,但最终你将dwarfButton变量设置为字符串"DWARF",而不是你创建的DOM元素.

试试这个:

var dwarfButton = document.createElement("button");
dwarfButton.textContent = "DWARF";
dwarfButton.setAttribute("id", "dwarf");
chatbox.appendChild(dwarfButton);
Run Code Online (Sandbox Code Playgroud)