admin管理员组

文章数量:1312908

I want to add a script after a div, this is what I have:

<div id="uno">insert after this</div><br />
<p>this is a paragraph</p><br />
<div>this is a div</div>

var myscript = document.createElement('script');
myscript.setAttribute('src', 'Scripts/start.debug.js');
document.body.appendChild(myscript);

and this code will ad <script src="Scripts/start.debug.js"></script> at the end of the page, and i need it after div #uno. What can I use instead of document.body.appendChild?

I want to add a script after a div, this is what I have:

<div id="uno">insert after this</div><br />
<p>this is a paragraph</p><br />
<div>this is a div</div>

var myscript = document.createElement('script');
myscript.setAttribute('src', 'Scripts/start.debug.js');
document.body.appendChild(myscript);

and this code will ad <script src="Scripts/start.debug.js"></script> at the end of the page, and i need it after div #uno. What can I use instead of document.body.appendChild?

Share Improve this question edited Jun 28, 2011 at 22:58 Brad Mace 27.9k18 gold badges109 silver badges152 bronze badges asked Jun 28, 2011 at 22:51 l3nyl3ny 3551 gold badge7 silver badges20 bronze badges 1
  • 3 Why does it need to be after a particular element? The only reason to put script elements in a particular place is when they reference elements during load. Otherwise, they can go pretty much anywhere. – RobG Commented Jun 29, 2011 at 0:43
Add a ment  | 

1 Answer 1

Reset to default 5
<script>
// This function inserts newNode after referenceNode
function insertAfter( referenceNode, newNode )
{
    referenceNode.parentNode.insertBefore( newNode, referenceNode.nextSibling );
}
insertAfter(document.getElementById("uno"), newScript);
</script>

Even if a nextSibling doesn't exist in the DOM it will still work "because when the second parameter of insertBefore is null then the newNode is appended to the end of the parentNode". A great description can be found here: http://wwwlobo./javascript-insertafter.html.

本文标签: