好吧,我不知道如何表达这个问题,所以如果您有关于可见性的建议,我很高兴提供提示。 现在解决我的问题,我正在尝试运行我在 Tampermonkey 中编写的脚本,但他不会返回应该在第一个函数中找出的正确答案。 据我所见,控制台不会返回错误。我不确定我做错了什么。 我的代码目前如下所示:
document.getElementsByClassName("jumbotron mobile-no-padding-question").addEventListener("load", auswerten());
function question() {
var question = document.getElementsByClassName("mobile-padding-question");
var x = 0;
var questions = ["x", "y", "z"];
while (x < 3) {
if (question == questions[x]) {
return x;
break;
} else {
x++;
}
}
}
function answer() {
var answers = ["x", "y", "z"];
var x = question();
window.alert(answers[x]);
document.getElementById(answers[x]).checked = true;
document.getElementById("next-question").click();
}
function main() {
for (var i = 0; i < 10; i++) {
answer();
}
}
我以前从未用过 Javascript 编码,所以我不知道任何先进的技术。使用的所有东西都是在旅途中研究并一起构建的。如果有人知道另一种方法,我很乐意尝试。
函数
getElementsByClassName
返回一个元素数组,并且您在求值时不会访问任何特定元素。
在这里,您试图找到问题
if (question == questions[x])
但由于 question
是一个数组永远不会工作,因此该函数永远不会返回您正在寻找的问题的索引。
您可以像
if (question[x].innerHTML.trim() == questions[x])
一样更新评价