?【DOM扩展】HTML5 API

《JavaScript高级程序设计(第3版)》

 

?【DOM扩展】HTML5 API
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <ul class="list">
        <li class="item">1</li>
        <li class="item">2</li>
        <li class="item current">3</li>
    </ul>
    <button id="myButton">button</button>
    <script>
        /**
         * getElementsByClassName()
         * 支持 getElementsByClassName()方法的浏览器有 IE 9+、Firefox 3+、Safari 3.1+、Chrome 和 Opera 9.5+
         */
        +function() {
            var nodeList = document.getElementsByClassName(item current) // item && current
            console.log(nodeList)
            var nodeList = document.getElementsByClassName(item)
            console.log(nodeList)
        }();

        /**
         * classList
         * 支持 classList 属性的浏览器有 Firefox 3.6+和 Chrome
         * add(value)
         * contains(value)
         * remove(value)
         * toggle(value)
         */
        +function() {
            var nodeList = document.getElementsByClassName(item)
            nodeList.item(0).classList.add(current)
            nodeList.item(2).classList.remove(current)
        }();

        /**
         * document.activeElement document.hasFocus()
         * 实现了这两个属性的浏览器的包括 IE 4+、Firefox 3+、Safari 4+、Chrome 和 Opera 8+
         * 元素获得焦点的方式有页面加载、用户输入(通常是 通过按 Tab 键)和在代码中调用 focus()方法
         * 默认情况下,文档刚刚加载完成时,document.activeElement 中保存的是 document.body 元 素的引用。
         * 文档加载期间,document.activeElement 的值为 null
         * 查询文档获知哪个元素获得了焦点,以及确定文档是否获得了焦点
         * 通过检测文档是否获得了焦点,可以知道用户是不是正在与页面交互
         */
        +function() {
            console.log(document.activeElement)
            console.log(document.hasFocus())
            var button = document.getElementById(myButton)
            button.focus()
            console.log(document.activeElement === button)
            console.log(document.hasFocus())
        }();

        /**
         * document.readyState
         * 支持 readyState 属性的浏览器有 IE4+、Firefox 3.6+、Safari、Chrome 和 Opera 9+
         * IE4 最早为 document 对象引入了 readyState 属性。
         * 然后,其他浏览器也都陆续添加这个属性, 最终 HTML5 把这个属性纳入了标准当中
         * Document 的 readyState 属性有两个可能的值
         * loading,正在加载文档
         * complete,已经加载完文档
         */
        +function() {
            if (document.readyState == complete) {
                console.log(complete)
            }
        }();

        /**
         * document.compatMode
         * 陆续实现这个属性的浏览器有 Firefox、Safari 3.1+、Opera 和 Chrome
         * 标准模式 CSS1Compat
         * 混杂模式 BackCompat
         */
        if (document.compatMode == CSS1Compat) {
            console.log(Standards mode)
        } else {
            console.log(Quirks mode)
        }

        /**
         * 作为对 document.body 引用文档的<body>元素的补充,HTML5 新增了 document.head 属性, 引用文档的<head>元素
         * 实现 document.head 属性的浏览器包括 Chrome 和 Safari 5
         */
        var head = document.head || document.getElementsByTagName(head)[0]
        console.log(head)
    </script>
</body>
</html>
?【DOM扩展】HTML5 API

?【DOM扩展】HTML5 API,布布扣,bubuko.com

?【DOM扩展】HTML5 API

上一篇:Different Between Cygwin And MinGw


下一篇:Viola–Jones object detection framework--Rapid Object Detection using a Boosted Cascade of Simple Features中文翻译 及 matlab实现(见文末链接)