HTMLDocument的变化
HTML5扩展了HTMLDocument,新增了一些新的功能。
readyState属性
使用document.readyState最恰当的方式,就是通过他来实现一个指示文档已经加载完成的指示器。有四个返回值,以下两个返回值比较常见:
- loading,正在加载文档
- complete,已经加载完文档
if (document.readyState == "complete"){
//执行操作
}
兼容模式
为了区分渲染页面的模式是标准的还是混杂的,为此IE给document添加了一个compatMode的属性。告诉开发人员浏览器采用了哪种渲染模式。
- 标准模式下,值为"CSS1Compat"
- 混杂模式下,值为"BackCompat"
if(document.compatMode == "CSS1Compat"){
alert("Standards mode");
}else{
alert("Quirks mode");
}
head属性
引用文档的元素
var head = document.head || document.getElementsByTagName("head")[0];
插入标记
innerHTML属性
- 在读模式下,返回和调用元素的所有子节点(包括元素、注释、文本节点)对应的HTML标记
- 在写模式下,会根据指定的值创建新的DOM树,然后用这个DOM树完全替换原来的所有子节点
例子:
<body>
<div id="content">
<p>this is a <strong>test </strong>hello</p>
<!-- 注释 -->
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</div>
<input type="button" onclick="getInnerHTML()" value="点击" />
<script type="text/javascript">
function getInnerHTML(){
alert(document.getElementById("content").innerHTML);
}
</script>
</body>
返回的内容如下:
<p>this is a <strong>test </strong>hello</p>
<!-- 注释 -->
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>