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

时间:2015-12-17 02:43:31

标签: javascript dom

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

  

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

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

$(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");
    },

1 个答案:

答案 0 :(得分:5)

你的问题在于以下几点:

var dwarfButton = chatbox.appendChild(document.createElement("button")).textContent = "DWARF";
dwarfButton.setAttribute("id", "dwarf");

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

请改为尝试:

var dwarfButton = document.createElement("button");
dwarfButton.textContent = "DWARF";
dwarfButton.setAttribute("id", "dwarf");
chatbox.appendChild(dwarfButton);