2013-04-09 2 views
0

это shan, и я - javascript noob, и я пытаюсь использовать qa-код в качестве примера здесь. Я пытаюсь загрузить небольшой контент javascript в элемент div, но он не работает, любая помощь будет большой, и вот код.не может загрузить содержимое в div с помощью javascript

<html> 
<head> 
    <title> 
    using d for statement 
</title> 
<script> 
    function displaytext() { 
    var loopindex=0; 
    var sum=0; 
    for (var loopindex=1; loopindex <=100; loopindex++) { 
     sum +=loopindex; 
    }; 
    document.getElementById('targetdiv').innerhtml="adding 1 to 100 gives "+sum; 
    } 
</script> 
</head> 
<body> 
    <div id="targetdiv"> 

    </div> 
</body> 
</html> 
+0

Где находится 'displaytext()'? Возможно, вы захотите обернуть его в вызов 'document.onload()'. – Schleis

+0

изменить 'innerhtml' в' innerHTML'. Затем вызовите функцию 'displaytext()' как предложенную @Schleis. – Ragnarokkr

ответ

1

Необходимо вызвать функцию. Это также хорошая идея, чтобы ждать, пока не будет загружен в окно (или вы можете использовать некоторые более продвинутые JS для detect the DOM ready state.):

<html> 
<head> 
    <title> 
    using d for statement 
</title> 
<script> 
    function displaytext() { 
    var loopindex=0; 
    var sum=0; 
    for (var loopindex=1; loopindex <=100; loopindex++) { 
     sum +=loopindex; 
    }; 
    document.getElementById('targetdiv').innerHTML = "adding 1 to 100 gives "+sum; 
    } 
    window.onload = function(){ 
     displaytext(); 
    } 
</script> 
</head> 
<body> 
    <div id="targetdiv"> 

    </div> 
</body> 
</html> 
+1

и свойства в JS чувствительны к регистру, поэтому 'innerHTML', а не' innerhtml' – outcoldman

+0

@outcoldman Nice catch, не видел этого. Исправлена. –

+0

все еще не повезло, ребята, результат не загружается в браузере. – jackal4me

0

3 проблемы:

  1. Вы никогда не называют функцию. Это только объявлено.
  2. Свойство innerHTML не innerhtml. Javascript чувствителен к регистру.
  3. Скрипт над элементом является ссылкой. Поскольку скрипты выполняются по мере их нахождения (при создании страницы выполняется пауза), элемент, о котором вы говорите, никогда не найден.

Также вы дважды объявляете переменную loopindex, которая, как я думаю, приведет к синтаксической ошибке на ES5.

<html> 
    <head> 
     <title> 
     using d for statement 
     </title> 
    </head> 
    <body> 
     <div id="targetdiv"> 

     </div> 
    </body> 
    <script> 
     function displaytext() { 
     var sum=0; 
     for (var loopindex=1; loopindex <=100; loopindex++) { 
      sum +=loopindex; 
     }; 
     document.getElementById('targetdiv').innerHTML="adding 1 to 100 gives "+sum; 
     } 
     displaytext(); 
    </script> 
</html> 
Смежные вопросы