Javascript: Lista ut var skriptet blir inkluderat i dom-trädet

Permalänk
Medlem

Javascript: Lista ut var skriptet blir inkluderat i dom-trädet

Hej allihopa,

Anta att vi har ett gammalt javascript som ser ut så här

document.write('<div>Hello world!</div>');

Inkluderar man det med en skript-tag i en html-sida så läggs ju Hello World ut där taggen ligger.

Det som jag funderar på är om man kan göra motsvarande funktion med ett javascript som gör en dom-trädsmanipulering istället? För att lyckas med det så måste man ju veta var själva inkluden är så kan man göra detta på något snyggt sätt?

//C

PS.

Detta är en hypotetisk fråga så inga frågor om varför man skulle vilja göra såhär osv tack.

Permalänk
Legendarisk

Om scriptsen körs sekventiellt, bara har infogats som vanligt direkt i markupen utan defer/async, så kommer det aktuella elementet alltid vara det sista av sin typ. Du kan då infoga element i DOM på det här sättet:

var scripts = document.getElementsByTagName('script'), current = scripts[ scripts.length - 1 ]; current.parentNode.insertBefore(document.createTextNode("Hello world!"), current);

Om du behöver kunna infoga det asynkront så är det lättast om du kan ge taggen ett ID.

Skickades från m.sweclockers.com

Visa signatur

Abstractions all the way down.