DOM学习笔记(3)

本文介绍了HTMLDocument在HTML5中的扩展,包括readyState属性用于指示文档加载状态,compatMode属性标识浏览器使用的文档模式。此外,还讨论了innerHTML属性如何处理DOM树以及scrollIntoView()方法如何使元素在视口中可见。同时,详细阐述了不同浏览器的文档模式设置,如Edge、IE9到IE5的模拟模式。
摘要由CSDN通过智能技术生成

HTMLDocument的变化

HTML5扩展了HTMLDocument,增加了新的功能,与DOM扩展类似,这些变化同样基于哪些已经得到很多浏览器完美支持的专有扩展。所以尽管这些扩展被写入标准的时间相对不长,但很多浏览器很早已经支持这些功能了。

readyState属性

Document的readyState属性有loadingcomplete 这两个值,使用它最恰当的方法就是通过它来实现一个指示文档已经加载完成的指示器。在这个属性得到广泛支持前,一般通过onload事件处理机制来确定文档加载完毕

if(document.readyState=="complete"){
    //do someThing
}

我们在前面也使用过兼容模式的代码,IE给document添加了一个名为compatMode的属性,这个属性就是为了告诉大家浏览器使用了标准模式还是混杂模式。在标准模式下,document.compatMode的值等于CSS1Compat,在混杂模式下,document.compatMode的值等于BackCompat。

if(document.compatMode=="CSS1Compat"){
    alert("标准模式");
}else{
    alert("混杂模式");
}

插入标记

innerHTML 属性返回与调用元素的所有子节点(包括元素、注释和文本节点)对应的HTML标记。在写模式下,innerHTML会根据选定的值创建新的DOM树,然后利用这个DOM树完全替换调用元素原先的所有子节点。

<div id="content">
    <p>this is a<strong> picture </strong>with a list</p>
    <ul>
        <li>item1</li>
        <li>item2</li>
        <li>item3</li>
    </ul>
</div>
var myDiv=document.getElementById("content");
console.log(myDiv.innerHTML)//输出div下所有的node节点
console.log(myDiv.outerHTML)//输出包括div的所有节点

scrollIntoView()方法可以在所有HTML元素上调用,通过滚动浏览器窗口的某个容器元素,调用元素就可以出现在视图中,如果给这个方法传入true,或者传入任何参数,那么窗口滚动之后会调用元素的顶部与视口顶部尽可能平齐。如果传入false作为参数,调用元素会尽可能全部出现在视口中.

文档模式

页面的文档模式决定了可以使用什么功能,要强制浏览器以某种模式渲染页面,可以使用HTTP头部信息X-UA-Compatible

<meta http-equiv="X-UA-Compatible" content="IE=IEVersion">//IEversion是一个值
  • Edge:始终以最新的文档模式来渲染页面。忽略文档类型声明。始终保持标准模式渲染
  • EmulateIE9:如果有文档声明,则以IE9标准模式渲染页面,否则将文档设置为IE5
  • EmulateIE8:如果有文档声明,则以IE8标准模式渲染页面,否则将文档设置为IE5
  • EmulateIE7:如果有文档声明,则以IE7标准模式渲染页面,否则将文档设置为IE5
  • 9:强制以IE9标准模式渲染页面,忽略文档声明
  • 8:强制以IE8标准模式渲染页面,忽略文档声明
  • 7:强制以IE7标准模式渲染页面,忽略文档声明
  • 5:强制以IE5标准模式渲染页面,忽略文档声明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值