Javascript - 尝试从数组中随机选择并根据选择的内容填充内部 HTML - 不起作用

标签 javascript html arrays arraylist

这是我的 JavaScript 代码:

var enemyPokemon = ["Charmander", "Bulbasaur", "Squirtle"];
var playerPokemon = ["Charmander", "Bulbasaur", "Squirtle"];

// Randomly pick Pokemon from Enemy Pokemon List

var enemyChosenPokemon = 
enemyPokemon[Math.floor(Math.random()*enemyPokemon.length)];

console.log(enemyChosenPokemon);

// Populate Enemy Information with computer picked Pokemon

// Set Enemy Pokemon Name
    if (enemyChosenPokemon == "Charmander"){
        document.getElementsByClassName("enemy-pokemon-name").innerHTML = "Charmander";
    } else if (enemyChosenPokemon == "Bulbasaur"){
        document.getElementsByClassName("enemy-pokemon-name").innerHTML = "Bulbasaur";
    } else if (enemyChosenPokemon == "Squirtle"){
        document.getElementsByClassName("enemy-pokemon-name").innerHTML = "Squirtle";
    };

我的 HTML 基本上是这样的:

<div class="enemy-pokemon-name">Enemy Pokemon</div>

我希望将名称“Enemy Pokemon”替换为正确的名称,具体取决于从 3 个列表中随机挑选的 Pokemon,但我似乎无法更改内部 HTML。

有人可以告诉我我做错了什么吗?

最佳答案

将类更改为 div 上的 ID:

<div id="enemy-pokemon-name">Enemy Pokemon</div>

你的 JS 将是这样的:

document.getElementById("enemy-pokemon-name").innerHTML = "Charmander";

正如 Emiel 所说,添加这样的 var 会更有效:

var enemyElement = document.getElementById("enemy-pokemon-name");

然后像这样使用它:

enemyElement.innerHTML = "Charmander";

关于Javascript - 尝试从数组中随机选择并根据选择的内容填充内部 HTML - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59439596/

相关文章:

javascript - Froogaloop Vimeo API——无法在就绪事件之外调用 API 方法

html - 在靠近中心的CSS中获得正确的位置?

javascript - 图像未调整 Bootstrap 3 的大小

c++ - 如何将动态对象数组传递给另一个类的参数化构造函数?

.net - 如何在不使用 Tab 或鼠标的情况下将光标从第一个文本区域移动到第二个文本区域?

javascript - 带有多个 slider 的 Bootstrap slider

Javascript 价格计算器问题(复选框)

c - 二维数组不会衰减到指向指针的指针

python - 使用 2 维数组切片 3 维数组

javascript - 如何在javascript中排队打印多段HTML文件?