Comprobar this, this y this
Desde el enlace de la parte superior, para añadir dinámicamente js o css:
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
Además, para eliminar de forma dinámica JS o CSS:
function removejscssfile(filename, filetype){
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
var allsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
}
}
removejscssfile("somescript.js", "js") //remove all occurences of "somescript.js" on page
removejscssfile("somestyle.css", "css") //remove all occurences "somestyle.css" on page
Pero tome nota de la eliminación:
Entonces, ¿qué sucede realmente cuando elimina un archivo JavaScript o CSS externo? Tal vez no del todo lo que esperarías en realidad. En el caso de JavaScript , mientras que el elemento se elimina del árbol de documento , cualquier código cargado como parte del archivo JavaScript externo permanece en la memoria del navegador. Es decir, todavía se puede acceder variables, funciones, etc., que se añadieron cuando el archivo externo primera cargado
Gracias Mikey En realidad hice lo mismo con jQuery y está funcionando bien, pero lo revisé en firebug, no muestra la etiqueta del script, es por eso que me confundí. Pero funciona funcionando como se esperaba :) Gracias una vez más – Tarun