Reputation: 566
I want to insert a script tag before all the rest of the scripts in the head tag. How would I do that with native javascript?
<head>
//INSERT SCRIPT HERE
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="omni-controls.js"></script>
</head>
When I use this, it just appends after all the tags in the head tag.
document.getElementsByTagName("head")[0].appendChild(script);
Upvotes: 9
Views: 19426
Reputation: 1560
document.head.insertBefore(script, document.head.firstElementChild);
Upvotes: 5
Reputation: 943579
Get the firstChild
of the <head>
, and then use insertBefore
.
This won't change the order scripts are loaded in though (since you'll be inserting it into the DOM after other scripts have been parsed), so this won't give any significate difference from just using appendChild
Upvotes: 6
Reputation: 48761
var head = document.getElementsByTagName("head")[0]
head.insertBefore(script, head.firstChild);
Upvotes: 18