一、动态加载javascript方法
<script type="text/javascript">
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode("body{background-color:#f00;}"));
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
</script>
另一种指定javascript代码的方式是行内方式,IE中将script视为一个特殊元素,不允许DOM访问其子节点。可以使用text属性来指定。
通用方式:
<script type="text/javascript">
function loadScriptString(code){
var script = document.createElement("script");
script.type = "text/javascript";
try{
script.appendChild(document.createTextNode(code))
}catch(ex){
script.text = code;
}
document.body.appendChild(script);
}
loadScriptString("function say(){alert('hello')} say();")
</script>
二、动态加载CSS方法
<script type="text/javascript">
function loadStyle(url){
var link = document.createElement('link');
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
var head = document.getElementsByTagName("head")[0];
head.appendChild(link);
}
loadStyle("css.css");
</script>
另一种定义样式的方式是使用style元素来包含嵌入式css,IE需要使用cssText属性,其他浏览器通过标准的DOM方式即可。
通用方法:
<script type="text/javascript">
function loadStyleString(css){
var style = document.createElement("style");
style.type = "text/css";
try{
style.appendChild(document.createTextNode(css))
}catch(ex){
style.styleSheet.cssText = css;
}
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
}
loadStyleString("body{background-color:#f00;}")
</script>
浙公网安备 33010602011771号