[b]添加javascript脚本:[/b]
如果要添加以下脚本到DOM文档页面中:
运用DOM节点操作的知识,我们可能会这样写:
上述代码在除IE外的浏览器都可以正确运行,但是,对于IE来讲,script元素是比较特别的,因此不允许访问它的子节点。
修改后的代码如下:
[b]在文档添加css代码也有类似的情况:[/b]
实现的代码应该如下:
整理自<<Professional.JavaScript.for.Web.Developers.2nd.Edition>>
如果要添加以下脚本到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);
[b]在文档添加css代码也有类似的情况:[/b]
<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>>