Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法为JavaScript中创建的DOM元素设置ID属性_Javascript_Dom - Fatal编程技术网

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

无法为JavaScript中创建的DOM元素设置ID属性,javascript,dom,Javascript,Dom,我试图为使用JavaScript创建的元素设置一个ID。但是,当我运行代码时,只会收到以下错误消息: 未捕获类型错误:dwarfButton.setAttribute不是函数 我在这里做过研究,它几乎说如果我想在我创建的元素中添加一个ID属性,我必须使用setAttribute(“ID”,“这里还有什么”),但是我得到一条错误消息,说明它不是一个函数 $(document).ready(function() { game.start(); }); var game = { s

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

未捕获类型错误:dwarfButton.setAttribute不是函数

我在这里做过研究,它几乎说如果我想在我创建的元素中添加一个ID属性,我必须使用
setAttribute(“ID”,“这里还有什么”)
,但是我得到一条错误消息,说明它不是一个函数

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

您的问题在于:

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);

矮人按钮是文本,而不是元素。将document.createElement(“按钮”)放入一个变量,并为其分配id。聊天盒对象在哪里?谢谢,这解决了问题。我还继续创建了一个名为“createButton”的函数,这样我就不必为我想要创建的每个按钮编写所有代码。非常感谢你,伙计:)