3 回答
TA贡献1874条经验 获得超12个赞
只需使用单个数组变量来保存所有问题,而不是单个变量:
// initialize a variable to be an empty array
var questions = [];
// create a loop which assigns value 1 to 9 into the variable i
for (let i = 1; i < 10; i++) {
// assign the content of the element with ID i to i-th element of the array
questions[i] = document.getElementById(i);
}
然后,您可以使用 examplequestions[5]代替question5.
如果您对 HTML 元素进行非顺序命名,则可以使用包含元素 ID 列表的数组:
// define a list of element IDs
let htmlIds = ['id1', 'ab', 'xy', 'anotherId'];
// initialize a variable to be an empty array
var questions = [];
// go through all items of the htmlIds arrays and populate questions
htmlIds.forEach(item => questions[item] = item);
但在这种情况下,我会考虑采用不同的方法,您可以忽略 ID 并查询问题,例如使用 PHP Guru 在他的答案中提到的类。
TA贡献1883条经验 获得超3个赞
如前所述,您可以使用循环和数组:
let questions = [];
for (let i = 0; i < 8; ++i) {
questions.push(document.getElementById(i));
}
您循环遍历某个合适的范围 - 并在每次迭代中附加到数组。
然后,您可以像这样访问特定的“问题”:
console.log(questions[4]);
TA贡献2021条经验 获得超8个赞
添加class="question"
到每个问题而不是id=1
、id=2
等,然后使用document.querySelectorAll(".question")
获取包含页面上所有问题的类似数组的对象。
var questions = document.querySelectorAll(".question"); // now you can reference every question with questions[0] thru questions[n-1]
添加回答
举报