изменение javascript innerhtml - PullRequest
       26

изменение javascript innerhtml

12 голосов
/ 12 февраля 2010

хорошо, я новичок в javascript, но я пытаюсь изменить innerhtml тега div, вот мой скрипт и он не работает:

<head>
<script type="text/javascript">
function var1() {
document.getElementById('test').innerHTML = 'hi';
}
window.onLoad = var1();
</script>
</head>
<body>
<div id="test">change</div>
</body>

это должно работать, но по какой-то причине это не так, любая помощь?

Ответы [ 7 ]

18 голосов
/ 12 февраля 2010

Вместо присвоения var1 window.onload вы в настоящее время вызываете функцию и сохраняете ее результат. Кроме того, это может быть очевидно, но var1 выглядит как нечетное имя для функции. Попробуйте это:

function var1() {
  document.getElementById('text').innerHTML = 'hi';
}

window.onload = var1;

Обратите внимание на регистр onload, а также пропущенные скобки после var1.

6 голосов
/ 12 февраля 2010

использование .innerHTML является нестандартным, и ужасной практикой по многим причинам. Вы должны создать новый элемент, используя надлежащие стандартные методы, и добавить его в дерево там, где вы хотите

5 голосов
/ 12 февраля 2010

правильно:

window.onload = var1;

в вашем примере значение window.onload равно undefined, поскольку функция var1 ничего не возвращает (undefined) Вы должны установить для свойства onload функцию var1, а не результат вызова функции var1 ()

1 голос
/ 12 февраля 2010

Ваш пример будет работать, если вы смените прописную букву "L" на строчную букву "L" в "onLoad" и удалите скобки после var1, где у вас есть window.onLoad = var1 ();

1 голос
/ 12 февраля 2010

Вы получаете элемент с идентификатором «test», но в вашем html нет элемента с таким идентификатором. Однако есть один, называемый «текст».

0 голосов
/ 20 мая 2016

Ниже приведена еще одна более простая версия

<body>
 <div id="test">change</div>
  <script type="text/javascript">
   document.getElementById('test').innerHTML = 'hi';
 </script>
</body>
0 голосов
/ 12 февраля 2010

Попробуйте изменить onLoad на onload.

function var1() {
  document.getElementById('test').innerHTML = 'hi';
}
window.onload = var1; // onload
...