Основы innerHTML - PullRequest
       6

Основы innerHTML

3 голосов
/ 14 февраля 2011

Я изучаю JavaScript и хочу поэкспериментировать с innerHTML. Я вижу, что случайное число появляется на короткое время, но оно не «прилипает», т. Е. Исчезает сразу.

<script language="javascript" type="text/javascript">
function getNbr(){
var n = Math.floor(Math.random() * 10) ;
document.getElementById("nbr").innerHTML = n ;
}

HTML:

<td id="nbr" width="75%">&nbsp;</td> ...
<p><a href="javascript.html" onclick="getNbr()">get a number</a></p>

Глядя на учебник ниже, он кажется очень простым, поэтому я удивлен, что он не сработает для меня

http://www.tizag.com/javascriptT/javascript-innerHTML.php

Ответы [ 4 ]

3 голосов
/ 14 февраля 2011

Гиперссылка перенаправляет.Это приводит к установке innerHTML, а затем страница перезагружается обратно в исходное состояние.Если вы разрабатываете на локальном компьютере, это может быть настолько быстро, что вы можете прийти к выводу, что это Javascript.(Загрузите его на веб-сервер, и вы увидите, что страница перезагрузится намного яснее).

Попробуйте изменить код на:

<p><a href="#" onclick="getNbr();return false;">get a number</a></p>

Гиперссылку устанавливать не нужно,поскольку вы не хотите, чтобы он перенаправлялся при нажатии, установите для него значение #.

Точки с запятой (;) в onclick отделяют код для вызова.Таким образом, вы можете иметь большой список вызовов функций, например:

"getNbr();anotherFunc();yetAnother();return false;"

Возвращение false остановит любые перенаправления или переходы после запуска функций (по умолчанию # href вверху страницы, что раздражает, еслиу вас длинная страница).

2 голосов
/ 14 февраля 2011

Исчезает, потому что документ перенаправлен по ссылке href.Это не имеет ничего общего с innerHTML.

Чтобы предотвратить это, добавьте return false, например:

onclick="getNbr(); return false;"
1 голос
/ 14 февраля 2011

Проблема здесь:

<p><a href="javascript.html" onclick="getNbr()">get a number</a></p>

Когда вы щелкнете эту ссылку, вы будете перенаправлены на страницу javascript.html. Вы можете использовать следующий подход:

<p><a href="#" onclick="getNbr()">get a number</a></p>
1 голос
/ 14 февраля 2011

Ваша ссылка перенаправляет вас на "javascript.html".Таким образом, результаты вашего звонка теряются, потому что новая страница загружается

...