javascript getElementById вне функции не работает - PullRequest
0 голосов
/ 26 января 2019

Я относительно новичок в javascript и сделал эту простую догадку числовой программой. У меня вопрос такой:

Почему это работает только если:

var myNumber = document.getElementById ("myNumber"). Value;

определяется внутри функции. Я думал, что если он был определен за пределами функции, он будет иметь "область видимости b, используемой в нем?

Спасибо за любую помощь.

<p> Enter your number 1-10 <input id="myNumber" type="text"> </p>
<button id="btn1">Go</button>



<script type="text/javascript">
  document.getElementById("btn1").onclick = function() {
    var myNumber = document.getElementById("myNumber").value;

    var number = parseInt(myNumber);

    var count = 1;
    var computerGuess = Math.floor((Math.random() * 10) + 1);

    while (computerGuess !== number) {

      computerGuess = Math.floor((Math.random() * 10) + 1);
      count++;
    }

    alert("you guessed it" + " in " + count + " guesses");
  }
</script>

1 Ответ

0 голосов
/ 26 января 2019

Когда вы будете использовать document.getElementById в глобальной области видимости, он вернет undefined, если скрипт находится над элементом, к которому вы хотите получить доступ.Потому что он может получить элемент по идентификатору до того, как он будет создан. Решение 1. Используйте все ваши теги сценария, наконец, из всех элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...