Почему первый вариант работает а второй нет?
0
Вариант 1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript</title>
<script src="main.js" /></script>
</head>
<body>
<div id="message"></div>
<script>document.getElementById('message').innerHTML = one;</script>
</body>
</html>
Вариант 2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript</title>
<script src="main.js" /></script>
</head>
<body>
<div id="message"></div>
</body>
</html>
main.js
var one = 'Hello';
document.getElementById('message').innerHTML = one;
5 ответов
2
Я думаю, что не сработало когда сверху из-за того, что в момент срабатывания скрипта javascript, div еще не существовал. В jquery есть $( document ).ready() для того, чтобы код срабатывал только когда все html загрузятся. Обычно все js внизу должны быть.
0
В одной папке
0
спасибо так у меня тоже сработал.
а почему не работает когда подключаю javascript в хедере?
0
Где находится файл с index.html и где находится файл main.js? В одной папке или разных?
0
Js в конце файла подключается после message, попробовал сделать пример, запустил у себя - работает, попробуй так:
index.html
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>First Javascript</title>
</head>
<body>
<div id="message"></div>
<!-- Подключаем внешний файл Javascript -->
<script src="myjavascript.js"></script>
</body>
</html>
myjavascript.js
var one = 'Hello';
document.getElementById('message').innerHTML = one;
Оба файла должны лежать в одной папке.