Вопрос по javascript, html – Javascript: не меняет div innerHTML

4

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

<html>
<head>
<script type="text/javascript">
alert('Hey');
    var vText = document.getElementById("results");
        vText.innerHTML = 'Changed';
        alert(vText.innerHTML);
</script>
</head>
<body>
<div id="results">
hey there
</div>
</body>
</html>
@ Хаук, я написал это в основном в textEdit и пытаюсь просмотреть его в Safari. Ali
где вы сохранили этот сценарий? В функции? Anil
jsfiddle.net/sK7GU проверь эту скрипку у фрагмента, который вы нам показали, проблем нет .. Все здесь предполагают, что это может быть проблемой, если только вы не показываете свой HTML-файл, который трудно исправить ... iDroid
пожалуйста, оставьте свой HTML-код, в лучшем случае предоставьте jsfiddle (jsfiddle.net), который поможет нам помочь вам Raphael Michel
@rami Работаю над этим, прямо сейчас Ali

Ваш Ответ

5   ответов
12

Это работает, как вы можете видеть здесь:

http://jsfiddle.net/gHbss/

Важно, чтобы вы поместили JavaScript после вашего HTML-контейнера div.

У меня не работает .... даже не в JSFiddle ...
1

load, в противном случае элемент все еще неизвестен, когда вы пытаетесь получить к нему доступ.

1

<html>
<head>
<script type="text/javascript">
function onloadCall()
{
    alert('Hey');
    var vText = document.getElementById("results");                                                 
    vText.innerHTML = 'Changed';
    alert(vText.innerHTML);
}
</script>
</head>
<body onload="onloadCall()">
    <div id="results">
    hey there
    </div>
</body>
</html>

1

т.е.

 window.onload=function(){
//your code
}
4

с которой вы сталкиваетесь, заключается в том, что браузер запускает JavaScript в том виде, в каком он встречался при рендеринге / обработке страницы. На данный момент это будетalert() ваше сообщение, но соответствующий элемент,#results div отсутствует в DOM, поэтому ничего нельзя изменить.

Чтобы решить эту проблему, вы можете разместитьscript в конце страницы, перед закрытием</body> или запустите код вonload событиеbody или жеwindow.

Похожие вопросы