我正在尝试从一组名称(从1到10)创建一个随机名称生成器。我已经为每个名称分配了一个id (从"s01“到"s10"),并尝试编写一些JavaScript,以便从列表中随机选择一个。这就是我到目前为止所知道的:
if (action === 'who') {
console.log("who");
let num = Math.floor((Math.random() * 10) + 1);
console.log(num);
if (num === 10) {
numb = s10.textContent;
} else {
num = ("s0"+num);
console.log(num);
numb = num.textContent;
}
console.log(numb);
但我将console.logs设置为“未定义”,除非生成的数字是10,然后就没问题了。
我正在尝试将出现的num转换为id,但我不确定该怎么做。
发布于 2019-05-30 06:14:28
当你写的时候
num = ("s0" + num);
你只是在创建一个字符串,它不会尝试使用它作为变量的名称。因此它不会访问变量s06
中的节点。
使用document.getElementById()
获取具有特定ID的元素,而不是尝试将其作为变量进行访问。您可以使用字符串连接来创建参数。
var id = num < 10 ? "s0" + num : "s" + num;
var element = document.getElementById(id);
var numb = element.textContent;
https://stackoverflow.com/questions/56369163
复制相似问题