Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   getElementById не выполняется (https://javascript.ru/forum/misc/29031-getelementbyid-ne-vypolnyaetsya.html)

teles 12.06.2012 10:00

getElementById не выполняется
 
<html>
<head>
    <title></title>
    <script type="text/javascript">

        var count = prompt('Введите число больше 0', '10');

        if (count > 0){
            for (count; count > 0; count--) {
                alert(count);
            }
            alert('Началось!');

        }
        else{
            alert('Конец истории');
            document.getElementById("one").src ="http://sense-studios.com/wordpress/xangadix/files/2012/05/write_all_the_code_in_javascript1.jpg";
            
        }

    </script>
</head>
<body>
<p>
<img id="one" src="https://secure.gravatar.com/avatar/dc89d060bf578163f1429d6e300c97df?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" alt="one" />
</p>
</body>
</html>

вот собственно в блоке else document.getElementById не выполняется:( И пощему это могло бы быть?

9xakep 12.06.2012 10:13

Переместите искомый элемент выше
<script>

teles 12.06.2012 10:34

не понял ?

Dim@ 12.06.2012 10:59

teles,
вы ищете объект по id который еще не создан, img над <script> установите
или заключите все в функцию и в body установите onload='имя функции()'

9xakep 12.06.2012 11:00

<script>
alert(document.getElementById('div')) 
/* искомый элемннт стоит ниже, как у вас, и в следствии не работает */
</script>
<div id='div'></div>

<div id='div'></div>
<script>
alert(document.getElementById('div')) // а так работает
</script>

Dim@ 12.06.2012 11:02

9xakep,
везде null выводит вставь какой-нибудь элемент в div

9xakep 12.06.2012 12:11

Dim@,
наркоманшоле?
клац

Dim@ 12.06.2012 14:30

Цитата:

Сообщение от 9xakep (Сообщение 180962)
Dim@,
наркоманшоле?

неа
вот скрин

Dim@ 12.06.2012 14:40

teles,
Если вы не догоняете то вот как надо писать здесь объект с id-ом one создается раньше чем ищется
<html>
<head>
    <title></title>
</head>
<body>
<p>
<img id="one" src="https://secure.gravatar.com/avatar/dc89d060bf578163f1429d6e300c97df?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" alt="one" />
</p>
<script type="text/javascript">

        var count = prompt('Введите число больше 0', '10');

        if (count > 0){
            for (count; count > 0; count--) {
                alert(count);
            }
            alert('Началось!');

        }
        else{
            alert('Конец истории');
            document.getElementById("one").src ="http://sense-studios.com/wordpress/xangadix/files/2012/05/write_all_the_code_in_javascript1.jpg";
            
        }

    </script>
</body>
</html>

можно так или вот так:
а здесь код заключен в функцию лоад которая ждет полной загрузки документа (следовательно img с id-ом one создается раньше чем ищется=))
<html>
<head>
    <title></title>
<script type="text/javascript">
function load(){
        var count = prompt('Введите число больше 0', '10');

        if (count > 0){
            for (count; count > 0; count--) {
                alert(count);
            }
            alert('Началось!');

        }
        else{
            alert('Конец истории');
            document.getElementById("one").src ="http://sense-studios.com/wordpress/xangadix/files/2012/05/write_all_the_code_in_javascript1.jpg";
            
        }
}
    </script>
</head>
<body onload='load()'>
<p>
<img id="one" src="https://secure.gravatar.com/avatar/dc89d060bf578163f1429d6e300c97df?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" alt="one" />
</p>
</body>
</html>

teles 12.06.2012 15:17

как вставить html со скриптом, чтобы он выполнялся?


Часовой пояс GMT +3, время: 05:33.