2014-12-09 1 views
0

Просто проверьте это, пытаясь вставить таблицу в тег тела, но я могу сделать это только с помощью getElementById. Я также попытался вставить код сценария внизу, но это тоже не сработает.Почему getElementsByTagName не работает в этой логике?

<html> 

<head> 
     <title>Exam Test Trial</title> 
     <script> 
     var table; 
      var books = {1234: "Programming for Dummies", 5667: "Ethical Hacking", 88889: "Networks", 10000: "Firmware Code"}; 

       function createTable(){ 
       table = "<table border= '1'>"; 

       table += "<tr>"; 

       for(var isbn in books){ 
        table += "<th>"; 
        table += isbn; 
        table += "</th>"; 
       } 

       table += "</tr>"; 
       table += "</table>"; 


       //var x = document.getElementById("exam").innerHTML = table; 

       var y; 
      } 


     </script> 
</head> 

<body id="exam"> 
    <script> 
     createTable(); 
     var x = document.getElementsByTagName("body").innerHTML = table; 
    </script> 
</body> 

+2

'getElementsByTagName' возвращает NodeList, а не отдельный узел. Вот почему вы не получаете доступ к 'innerHTML' для элемента body. –

+2

Почему бы не просто 'document.body.innerHTML'? – Phil

ответ

2

getElementsByTagName("body") возвращает массив-подобную структуру. Возможно, вы имели в виду getElementsByTagName("body")[0]?

+0

Или 'document.body'. – Havvy

+2

@ Havvy Получил ссылку на этот первый? Насколько я могу судить, он не существует – Phil

+1

@Havvy Есть ли 'getElementByTagName'? Я не уверен, что существует. – spender