当前位置: 代码迷 >> Web前端 >> DOM树平添script脚本和style样式
  详细解决方案

DOM树平添script脚本和style样式

热度:154   发布时间:2012-11-05 09:35:12.0
DOM树添加script脚本和style样式
添加javascript脚本:
如果要添加以下脚本到DOM文档页面中:
<script type="text/javascript">
	function sayHi(){
		alert("hi");
	}
</script>

运用DOM节点操作的知识,我们可能会这样写:
var script = document.createElement('script');
script.type = 'text/javascript';
script.appendChild(document.createTextNode('function sayHi(){alert("hi");}'));
document.body.appendChild(script);


    上述代码在除IE外的浏览器都可以正确运行,但是,对于IE来讲,script元素是比较特别的,因此不允许访问它的子节点。
修改后的代码如下:
       var script = document.createElement('script');
	script.type = 'text/javascript';
	var code = 'function sayHi(){alert("hi");}';
	try{
		script.appendChild(document.createTextNode(code));
	}catch(ex){
		script.text = code;//this works in all browers.
	}
	document.body.appendChild(script);


在文档添加css代码也有类似的情况:
<style type="text/css">
body {
	background-color: red;
}
</style>


实现的代码应该如下:
	var style = document.createElement('style');
	style.type = 'text/css';
        var cssText = "body{background-color:blue;}";
	try{
	   style.appendChild(document.createTextNode(cssText));
	} catch (ex){
	   style.styleSheet.cssText = cssText;//IE
	}
	var head = document.getElementsByTagName('head')[0];
	head.appendChild(style);



整理自<<Professional.JavaScript.for.Web.Developers.2nd.Edition>>
  相关解决方案