I am having trouble with this code in IE (with Chrome it seems to work fine):
Your script is being executed before the DOM is ready, so getting the tag is a race condition. I actually get the same error in Chrome 15 and Firefox 8.
You can see the code works when called after the page is loaded, for example in a function
append
function append() {
var scriptContent = "var whatever=1";
var _js = document.createElement('script');
_js.setAttribute('type', 'text/javascript');
textNode = document.createTextNode(scriptContent);
_js.appendChild(textNode);
document.getElementsByTagName('body')[0].appendChild(_js);
return false;
}