2016-08-18 2 views
-1

Ich habe versucht, aber nicht in der Lage, die innere HTML auf eine Zeichenfolge-Variable festlegen.Nicht in der Lage, inneren HTML auf eine Zeichenfolge-Variable

Unten ist der vollständige Code versucht mit.

Obwohl die Syntax von innerem HTML nicht so komplex ist, kann ich es nicht beheben.

<!DOCTYPE html> 
    <html> 
    <head> 
     <title></title> 
     <meta charset="utf-8" /> 
     <script type="text/javascript"> 
      var starDetailsString = "ali"; 
      var star = {}; 
      function Star(constell, type, specclass, magnitude) { 
       this.constellation = constell; 
       this.type = type; 
       this.spectralClass = specclass; 
       this.mag = magnitude; 
      } 
      star['Polaris'] = new Star("Ursa Minor", "Double/Cepheid", "F7", 2.0); 
      star['Vega'] = new Star("Lyra", "White Dwarf", "A0 V", 0.03); 
      star['Altair'] = new Star("Aquila", "White Dwarf", "A7 V", 0.77); 
     </script> 
    </head> 
    <body> 
     <script type="text/javascript"> 

      for (var element in star) 
      { 
       for (var prop in star[element]) { 
        starDetailsString += element + " : " + prop + " = " + star[element][prop]; 
        starDetailsString += "<br/>"; 
       } 
       starDetailsString += "<br/>"; 
      } 
      document.getElementById('starDetails').innerHTML = starDetailsString; 

     </script> 
     <div id="starDetails"> 

     </div> 
    </body> 
    </html> 

Antwort

1

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title></title> 
 
    <meta charset="utf-8" /> 
 

 
</head> 
 
<body> 
 
    <div id="starDetails"> 
 

 
    </div> 
 

 
    <script type="text/javascript"> 
 
     var starDetailsString = "ali"; 
 
     var star = {}; 
 
     function Star(constell, type, specclass, magnitude) { 
 
      this.constellation = constell; 
 
      this.type = type; 
 
      this.spectralClass = specclass; 
 
      this.mag = magnitude; 
 
     } 
 
     star['Polaris'] = new Star("Ursa Minor", "Double/Cepheid", "F7", 2.0); 
 
     star['Vega'] = new Star("Lyra", "White Dwarf", "A0 V", 0.03); 
 
     star['Altair'] = new Star("Aquila", "White Dwarf", "A7 V", 0.77); 
 

 
     for (var element in star) 
 
     { 
 
      for (var prop in star[element]) { 
 
       starDetailsString += element + " : " + prop + " = " + star[element][prop]; 
 
       starDetailsString += "<br/>"; 
 
      } 
 
      starDetailsString += "<br/>"; 
 
     } 
 
     document.getElementById('starDetails').innerHTML = starDetailsString; 
 

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

Ihr Javascript läuft vor dem div, die Sie auffüllen möchten gerendert wird. Verschiebe dein Javascript an das Ende der Seite.

+0

Danke! es hat funktioniert –

+0

Großartig. Könnten Sie bitte die Antwort akzeptieren, wenn Sie zufrieden sind? –

0

Setzen Sie einfach den <script> Teil hinter den <div id="starDetails"></div> Teil.