返回x对第二个功能不起作用

时间:2018-08-17 14:53:48

标签: javascript browser

好吧,所以我不知道该如何解决这个问题,因此,如果您对可视性有建议,我很高兴提供提示。 因此,现在要解决我的问题,我正在尝试运行在Tampermonkey中编写的脚本,但他将不会返回应在第一个函数中找到的正确答案。 据我所知,控制台不会返回错误。我不确定自己在做什么错。 我的代码当前如下所示:

// ==UserScript==
// @name         Energy Air Game Bot
// @namespace    https://github.com/RayJW/Energy-Air-Game-Bot/edit/master/Energy%20Air%20Game%20Bot.user.js
// @version      0.1
// @description  Automate the Energy Air Game
// @author       RayJW
// @match        https://game.energy.ch/
// @grant        none
// ==/UserScript==

document.getElementsByClassName("jumbotron mobile-no-padding-question").addEventListener("load", auswerten());

function Frage() {
  var question = document.getElementsByClassName("mobile-padding-question");
  var x = 0;
  var questions = [
    "Wie heisst der aktuelle Sommerhit von Energy Air Act Alvaro Soler?", "Auf welchem Weg kann man KEINE Energy Air Tickets gewinnen?", "Wer eröffnete das erste Energy Air?", "Wann ist der offizielle Filmstart von DAS SCHÖNSTE MÄDCHEN DER WELT in den Schweizer Kinos?",
    "Welche Farbe haben die Haare des Social Media Stars Julia Beautx im Film?", "Wie viele Acts waren beim letzten Energy Air dabei?", "Welcher dieser Acts hatte einen Auftritt am Energy Air 2017?", "Die wievielte Energy Air Ausgabe findet dieses Jahr statt?",
    "Mit welchem Preis wurde der Nachwuchsstar Luna Wedler dieses Jahr ausgezeichnet?", "Energy Air ist der einzige Energy Event,...", "Wohin führt die Klassenfahrt?", "Wann findet das Energy Air 2018 statt?", "Welcher Schauspieler/Rapper trägt im Film eine goldene Maske?",
    "Welche Fussballmannschaft ist im Stade de Suisse zuhause?", "Was ist Cyrils besondere Begabung?", "Wann fand Energy Air zum ersten Mal statt?", "Wer stand am letzten Energy Air als Überraschungsgast auf der Bühne?", "Wie viele Energy Air Tickets werden verlost?",
    "Was ist Cyrils (Aaron Hilmer) Markenzeichen im Film?", "Wann beginnt das Energy Air 2018?", "Das NRJ-Gefährt ist ein...", "Was passiert, wenn es am Eventtag regnet?", "Wo erfährst du immer die neusten Infos rund um Energy Air?", "Energy Air Tickets kann man...",
    "Wie schwer ist die Energy Air Bühne?", "Welcher Schweizer Shootingstar spielt in DAS SCHÖNSTE MÄDCHEN DER WELT die Hauptrolle?",
    "Mit welchem dieser Tickets geniesst du die beste Sicht zur Energy Air Bühne?", "Wer war der letzte Act beim Energy Air 2017?", "Wer spielt die Mutter von Cyril?", "Wo findet das Energy Air statt?",
  ];
  while (x < 20) {
    if (question == questions[x]) {
      return x;
      break;
    } else {
      x++;

    }
  }
}

function antwort() {
  var answers = [
    "La Cintura", "E-Mail", "Pegasus", "6. September 2018", "Pink", "15", "Aloe Blacc", "Die fünfte", "Shootingstar Berlinale 2018", "…für den man Tickets nur gewinnen kann.",
    "Berlin", "8. September 2018", "Cyril", "BSC Young Boys", "Texte schreiben und rappen", "2014", "Bastian Baker", "40’000", "Seine grosse Nase", "Um 16 Uhr", "Tuk Tuk",
    "Energy Air findet trotzdem statt", "im Radio, auf der Website und über Social Media", "gewinnen", "450 Tonnen", "Luna Wedler", "XTRA-Circle", "Kodaline", "Anke Engelke",
    "Stade de Suisse (Bern)"
  ];
  var x = Frage();
  window.alert(answers[x]);
  document.getElementById(answers[x]).checked = true;
  document.getElementById("next-question").click();
}

function auswerten() {
  for (var i = 0; i < 10; i++) {
    antwort();
  }
}

我以前从未使用过Javascript编写代码,因此我不了解任何高级技术。所用的一切都经过了研究,并且可以一起构建。如果有人知道另一种方法,我很乐意尝试。

1 个答案:

答案 0 :(得分:0)

函数getElementsByClassName返回一个元素数组,并且您在评估时没有访问任何特定元素。

您在这里尝试查找问题if (question == questions[x]),但是由于question是一个数组,因此永远无法使用,因此该函数永远不会返回您要查找的问题的索引。

您可以像if (question[x].innerHTML.trim() == questions[x])

那样更新评估