javascript - 未捕获的类型错误 : Cannot create property 'guid' on string

标签 javascript php jquery html css

我有以下代码(它是另一个页面的一部分,但仅此而已):

var players = ["player1", "player2", "player3", "player4", "player5", "player6", "player7", "player8", "player9", "player10"];
var questions = ["Wat is jouw guilty pleasure?", "Wie was jouw eerste crush?", "Wat is je grootste seksuele fantasie?", "Wat is het meest gevoelige deel van je lichaam?", "Heeft iemand je ooit per ongeluk naakt gezien?", "Heb je ooit buiten seks gehad?", "Heb je ooit een seksspeeltje gebruikt?", "Heb je ooit naakt gezwommen?", "Heb je ooit wel eens een trio gehad?", "Heb je wel eens seks gehad in het openbaar vervoer?", "Doe je het liever het licht aan of uit? ", "Heb je weleens een verkeerde naam genoemd tijdens de seks?", "Wat vind jij het meest saaie standje?", "Wat is de grappigste plaats waar je ooit seks hebt gehad?", "Hoeveel andere benamingen ken je voor ‘seks hebben’?", "Ben je wel eens versierd door iemand van het zelfde geslacht?", "Welk cijfer geef je jezelf als sekspartner?", "Heb je weleens heb eten geëxperimenteerd tijdens seks?", "Wat vind het meest sexy aan jezelf?", "Stel dat je een pornoster bent, hoe zou je heten?", "Met welke BN’er zou je wel een nachtje willen doorbrengen?", "Wat is het meest grappige wat je is overkomen in bed?", "Wat is je favoriete standje?", "Wat vind jij sexy?", "Ben je ooit betrapt tijdens het masturberen?", "Ben je ooit betrapt tijdens seks?", "Wat vind jij echt een afknapper?", "Wat zou je nog wel eens willen proberen in bed?", "Romantische rustige seks of geile wilde seks?", "Hoe vaak per dag denk jij aan seks?", "Ochtendseks of avondseks?", "Wanneer heb je voor het laatst over seks gedroomd?", "Wat is het meest ondeugende wat je ooit hebt gedaan?", "Hoe ziet jouw ideale voorspel eruit?", "Welk rollenspel zou jij wel eens willen spelen?", "Hou je van ‘dirty talk’?", "Hoe was jouw eerste keer?", "Heb je een fetisj?", "Wat is je grootste turn off?", "Wat is je grootste turn on?", "Wat valt je het eerste op aan iemand die je ziet zitten?", "Met hoeveel mensen ben je naar bed geweest?", "Hoe vaak masturbeer je?", "Heb je wel eens een orgasme gefaked?", "Web jij weleens iemand betrapt?", "Wel je wel eens seks gehad terwijl er anderen in de kamer waren?", "Hoe vaak per week heb je seks?", "Heb je weleens een one night stand gehad?", "Heb je wel eens een striptease gegeven?", "Heb je weleens een lapdance gegeven?", "Heb je wel eens een striptease gekregen?", "Heb je wel eens een lapdance gekregen?"];
var playerNames = [];
var chosenName;
var question;

$(document).ready(function() {
  for (var i = 3; i < players.length; i++) {
    $("#" + players[i]).hide();
  }

  $("#nextQuestion").hide();
  $("#stop").hide();
  $("#chosenName").hide();
  $("#chosenQuestion").hide();

  $("#addPlayer").click(function() {
    for (var i = 3; i < players.length; i++) {
      $("#" + players[i]).toggle();
    }
  });

  $("#start").click(function() {
    playerNames = [];
    for (var i = 0; i < players.length; i++) {
      if ($("#" + players[i]).val() != null) {
        if ($("#" + players[i]).val() == "") {
          break;
        } else {
          name = $("#" + players[i]).val();
          playerNames.push(name);
          console.log(name + " added to array!");
          console.log(playerNames);
        }
      }
    }

    $("input").hide();
    $("#addPlayer").hide();
    $("#start").hide();
    $("#chosenName").show();
    $("#chosenQuestion").show();
    $("#nextQuestion").show();
    $("#stop").show();

    chosenName = playerNames[Math.floor(Math.random() * players.length)];
    question = questions[Math.floor(Math.random() * questions.length)];
  });

  $("#stop").click(function() {
    $("input").show();
    $("#addPlayer").show();
    $("#start").show();

    for (var i = 3; i < players.length; i++) {
      $("#" + players[i]).hide();
    }

    $("#nextQuestion").hide();
    $("#stop").hide();
  });

  function getQuestion() {
    chosenName = playerNames[Math.floor(Math.random() * playerNames.length + 1)];
    question = questions[Math.floor(Math.random() * questions.length + 1)];
    console.log(chosenName);
    console.log(question);

    $("#chosenName").html(chosenName);
    $("#chosenQuestion").html(question);
    return (chosenName + question);
  }

  $("#nextQuestion").click(getQuestion());
});
<head>
  <meta charset="utf-8">
  <title>Test</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

<body>
  <input type="text" id="player1" class="player" placeholder="Naam">
  <input type="text" id="player2" class="player" placeholder="Naam">
  <input type="text" id="player3" class="player" placeholder="Naam">
  <input type="text" id="player4" class="player" placeholder="Naam">
  <input type="text" id="player5" class="player" placeholder="Naam">
  <input type="text" id="player6" class="player" placeholder="Naam">
  <input type="text" id="player7" class="player" placeholder="Naam">
  <input type="text" id="player8" class="player" placeholder="Naam">
  <input type="text" id="player9" class="player" placeholder="Naam">
  <input type="text" id="player10" class="player" placeholder="Naam">
  <button id="addPlayer">Voeg extra spelers toe</button>
  <button id="start">Start spel</button>
  <p id="chosenName"></p>
  <p id="chosenQuestion"></p>
  <button id="nextQuestion">Volgende vraag</button>
  <button id="stop">Stop spel</button>
</body>

当我尝试运行它时,出现未捕获的类型错误。它说:无法在字符串“undefinedWat vind het meest sexy aan jezelf?”上创建属性“guid”?

undefinedWat vind het meest sexy aan jezelf?

这部分是前面带有“undefined”的 chosenQuestion,但我不明白 undefined 是如何到达那里的以及我必须做些什么来解决这个问题...... 有人可以帮帮我吗?

最佳答案

您正在使用 getQuestion() 的返回值作为 click处理程序。
该返回值是字符串 undefined + <a random question> .

改变

$("#nextQuestion").click(getQuestion());

$("#nextQuestion").click(getQuestion);

关于javascript - 未捕获的类型错误 : Cannot create property 'guid' on string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48991269/

相关文章:

php - Joomla 3 PHP脚本中的语言标记错误

javascript - 粘性页脚 Div 重叠

javascript - Gmaps4rails:通过 AJAX 添加标记后启用聚类的正确方法是什么?

php - 用于获取类别表中级联项目计数的 mySQL 查询

asp.net - JQuery blockui 和 ASP.NET 回发冲突

javascript - 观察到在背景中最大化图像滚动?

javascript - IE11 : Object doesn't support property or method 'replaceWith'

javascript - 制作一个 Div,它的子元素是 Javascript 中的图像

javascript - Node.js 抓取数据点击事件

php - 正确的 PHP 404 重定向?