Нельзя безопасно манипулировать страницей, пока документ не будет готов. Используя jQuery $(document).ready()
, он будет ждать, пока страница будет загружена и готова к обработке перед выполнением (независимо от того, где она находится на странице). Пример:
<script>
$(document).ready(function() {
document.getElementsByClassName("myImg")[0].src = "hackanm.gif";
});
</script>
<img class="myImg" src="compman.gif" width="107" height="98">
Вы могли бы также тогда рычаги селекторы внутри JQuery (например $(".class")
, где класс является ваш класс, или $("#id")
где идентификатор идентификатор) и измените код на:
<script>
$(document).ready(function() {
$(".myImg").attr('src',"hackanm.gif");
});
</script>
<img class="myImg" src="compman.gif" width="107" height="98">
А дальше вас может даже сохранить его в переменной, если вы хотите изменить его позже в javascript!
<script>
$(document).ready(function() {
var myImg = $(".myImg");
var newImg = "hackanm.gif";
myImg.attr('src', newImg);
});
</script>
<img class="myImg" src="compman.gif" width="107" height="98">
Надеюсь, это поможет вам узнать несколько новых трюков внутри javascript! Счастливое кодирование!
More Info
Почему вы хотите? Вы * можете * размещать код везде, где хотите. Вам просто нужно убедиться, что строка кода, ищущая элемент HTML, не выполняется до тех пор, пока этот элемент не будет существовать. Какова проблема, которую вы пытаетесь решить здесь? Как это не работает? – David
Оборудуйте свой текущий javascript с помощью '$ (document) .ready (function() {});' (см. Https://learn.jquery.com/using-jquery-core/document-ready/), а затем вы можете разместите его в любом месте на странице. –