javascript - How to load in an external CSS file dynamically? -
i'm trying create dynamic page using external .css pages page color changed. below code. when click href, not getting output. can please tell what's problem in code?
<script language="javascript"> function loadjscssfile(filename, filetype) { if (filetype=="css") { 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("mystyle.css", "css") </script> <a href="javascript:loadjscssfile('oldstyle.css','css')">load "oldstyle.css"</a> i have modified code below. still i'm facing problem in getting output. no result. can please me out?
<head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/newstyle.css" /> <script language="javascript" type="text/javascript"> function loadjscssfile(filename, filetype) { if (filetype=="css") { var fileref = document.createelement("link"); fileref.rel = "stylesheet"; fileref.type = "text/css"; fileref.href = "filename"; document.getelementsbytagname("head")[0].appendchild(fileref) } } loadjscssfile("oldstyle.css", "css") </script> <a href="javascript:loadjscssfile('oldstyle.css','css')">load "oldstyle.css"</a> </head>
tim goodman's answer correct, instead of fileref.href = "filename"; should fileref.href = filename;
otherwise you're trying load file name "filename" rather passed script.
alternately, if you're willing use jquery library, can accomplished in 1 line:
$("head").append("<link rel='stylesheet' id='extracss' href='"+filename+"' type='text/css' />");
also, first version of script using setattribute: browsers take setattribute empty third parameter because of way spec set up:
fileref.setattribute("href", filename, "");
Comments
Post a Comment