Гиперссылка перенаправляет.Это приводит к установке innerHTML, а затем страница перезагружается обратно в исходное состояние.Если вы разрабатываете на локальном компьютере, это может быть настолько быстро, что вы можете прийти к выводу, что это Javascript.(Загрузите его на веб-сервер, и вы увидите, что страница перезагрузится намного яснее).
Попробуйте изменить код на:
<p><a href="#" onclick="getNbr();return false;">get a number</a></p>
Гиперссылку устанавливать не нужно,поскольку вы не хотите, чтобы он перенаправлялся при нажатии, установите для него значение #
.
Точки с запятой (;
) в onclick
отделяют код для вызова.Таким образом, вы можете иметь большой список вызовов функций, например:
"getNbr();anotherFunc();yetAnother();return false;"
Возвращение false остановит любые перенаправления или переходы после запуска функций (по умолчанию # href вверху страницы, что раздражает, еслиу вас длинная страница).