• dom扩展


    第十一章 DOM扩展

    一.选择符API

        1.querySelector()方法

                接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null。

         2.querySelectorAll()方法

            返回所有名为xxx的元素。

         3.matchesSelector()方法

    二.元素遍历

    三.HTML5

            1.与类相关的扩充

                    1).getElementByClassName()方法
                        //取得所有类中包含“username”和“current”的元素,类名的先后顺序无所谓
                        var allCurrentUsernames = document .getElementByClassName("username current");
                        //取得ID为“myDiv”的元素中带有类名“selected”的所有元素
                        var selected = document.getElementById("myDiv").getElementByClassName("selected");
                    2).classList属性
                       add(value):将给定的字符串值添加到列表中
                        contains(value):表示列表中是否存在给定值
                        remove(value):删除给定字符串
                        toggle(value):如果有,删除,没有就添加 

            2.焦点管理

                    元素获得焦点的方式有页面加载、用户输入、在代码中调用focus()
                    document.activeElement属性
                    document.hasFocus()方法
                    -通过检测文档是否获得了焦点,可以知道用户是不是正在与页面交互

            3.HTMLDocument的变化

                    1)readyState属性
                        loading 正在加载文档
                        complete 已经完成加载
                    2)兼容模式
                        compatMode属性
                    3)head属性
                        var head=document.head||document.getElementsByTagName("head")[0];
                        //如果可用,就用head属性,否则使用后者

            4.字符集属性

                    charset属性表示文档中实际使用的字符集
                    defaultCharset表示根据默认浏览武器及操作系统设置,当前文档的默认字符集应该是什么

            5.自定义数据属性

                    html5规定可以为元素添加非标准的属性,但要添加data-,
                    谈加厚可以用元素的dataset访问

            6.插入标记

                1)innerHTML属性
                    标签的innerHTML为标签内所包含的内容(不同浏览器返回的大小写有所区别)
                    通过innerHTML插入<script>无效
                    可插入style元素
                2)outerHTNL属性
                   替换元素 
                3)insertAdjacentHTML()方法
                    包含两个参数,一个是要插入的位置,另一个是要插入的文本
                    第一个参数:
                    "beforebegin",在当前元素之前插入一个紧邻的同辈元素
                    "afterbegin",在当前元素的下一辈插入子元素,子元素在之前存在的子元素之前
                    "beforeend",在当前元素的下一辈插入子元素,子元素在之前存在的子元素之后
                    "afterend",在当前元素之后插入一个紧邻的同辈元素
                4)内存与性能问题
                    避免:
                   for(var i=0,len=values.length;i<len;i++){
                            ul.innerHTML+="<li>"+values[i]+"</li>";
                   }
                    推荐方法:
                    var itemsHTML=“”;
                    for(var i=0,len=values.length;i<len;i++ )
                    {
                        itemsHTML+="<li>"+values[i]+"</li>";
                     }
                    ul.innerHTML=itemsHTML;//一次性添加

              7.scrollIntoView()方法

                    通过滚动浏览器窗口或某个元素内容,调用元素就可以出现在视口中。     

    四.专有扩展

               1.文档模式

              2.children属性

                    见上一章

              3.contains()方法

                    检查节点是否为另一个节点的后代

             4.插入文本

                    1)innerText属性
                        返回标签内的文本(不同浏览器空白符不同)
                        使用innerText设置值
                        div.innerText="hello world";
                    2)outerText属性
                        除了作用范围扩大到了包含调用它的节点之外,outerText与innerText基本上没区别。
                        新文本节点替换旧文本节点

             5.滚动(以下仅支持Safari和Chrome)

                    scrollIntoViewIfNeeded():在元素不可见的情况下,滚动至该元素,设置为TRUE为让元素显示在视窗中央                                           
                     scrollByLines(lineCount):将元素滚动指定行高,参数可正可负
                    scrollByPages(pageCount):将元素的内容滚动到指定页面高度,具体高度有元素的高度决定
  • 相关阅读:
    Array.of()和Array()区别
    less常用方法
    javascript时间戳转换成yyyy-MM-DD格式
    javascript中标准事件流addEventListener介绍
    javascript中模块化知识总结
    搜索栏简单小案例
    css3伸缩布局中justify-content详解
    css3动画简单案例
    正则表达式的语法
    Beautisoup库
  • 原文地址:https://www.cnblogs.com/gugumiemie/p/5971101.html
Copyright © 2020-2023  润新知