Thursday, February 22, 2018
javascript - Cannot set property InnerHTML of null
Answer
Answer
I've a simple html page with no code in the body tag.
I want to insert the html in the body tag through javascript.
My javascript file looks like this.
var Global={
UserWall:function(){
return "a very long html code";
}
};
var globalObject=Object.create(Global);
document.getElementsByTagName("body").item(0).innerHTML=globalObject.UserWall();
Now I want this very long html code to be auto inserted in the body tag on page load.
But it is giving me the error I've mentioned in the title.Why?
and also is this the correct way to create ajax based website(no page reloads) meaning that if I called server side script to update this very long html code and appended it to the body of the page.
Answer
You are almost certainly running your code before the DOM is constructed. Try running your code in a window.onload
handler function (but see note below):
window.onload = function() {
// all of your code goes in here
// it runs after the DOM is built
}
Another popular cross-browser solution is to put your block just before the closing