2016-10-13 3 views
-3

diesen Code Überprüfen Sie bitte und helfen Sie mir lösen, warum ich null ist document.getElementById (...) Typ FehlergetElementById (...) ist null? Warum?

function Dropdown(){ 
    this.core = ['NIS', 'EUR', 'USD']; 
    this.check = function(){ 
     var cho = '<select>'; 
     for(x in this.core){ 
      cho += '<option value="'+ this.core[x] +'">'+ this.core[x] +'</option>'; 
     } 
     cho += '</select>'; 
     return cho 
    }; 

} 

var obj = new Dropdown(); 
document.getElementById("demo").innerHTML = obj.check(); 

auf HTML-Datei, ich habe ich immer:

<div id="demo">Check Console log</div> 

Danke für jede Hilfe.

+5

dieser Code muss vor HTML gerendert wird, können Sie es nach Demo setzen können HTML-Tag, oder Sie können auf window.load-Methode verwenden, um zu bekommen, dass HTML gerendert wird –

Antwort

0

Sie müssen warten, bis das Dokument fertig ist, bevor Sie damit interagieren.

window.onload = function() { 
    var obj = new Dropdown(); 
    document.getElementById("demo").innerHTML = obj.check(); 
}; 
+0

Ich habe immer vergessen, die Seite zu laden, ich werde nur meine

0

Wenn Sie versuchen, diese Funktion aufzurufen, wenn Ihre Seite Rendering dann das unten stehende Skript setzen Sie sich bitte vor body Tag Schließen

<script> 
// self executing function here 
(function() { 
    // your page initialization code here 
    // the DOM will be available here 


function Dropdown(){ 
    this.core = ['NIS', 'EUR', 'USD']; 
    this.check = function(){ 
     var cho = '<select>'; 
     for(x in this.core){ 
      cho += '<option value="'+ this.core[x] +'">'+ this.core[x] +'</option>'; 
     } 
     cho += '</select>'; 
     return cho 
    }; 

} 
var obj = new Dropdown(); 
document.getElementById("demo").innerHTML = obj.check(); 

})(); 
</script>