首页 > Web开发 > 详细

js DOM 扩展

时间:2014-05-31 19:32:35      阅读:475      评论:0      收藏:0      [点我收藏+]
1. 选择符API
        querySelector()          返回匹配的第一个元素,接收一个 CSS 选择符。没有找到返回 null.
        querySelectorAll()      返回所有匹配的一个 NodeList, 这是一个快照不会动态改变。接收一个 CSS 选择符。
        mathesSelecttor()      如果调用元素与该选择符匹配,返回true, 否则返回 false. 接收一个 CSS 选择符。
 
2. 与类相关的扩充
        getElementsByClassName()      接收一个字符串
        classList         所有元素都有的属性,它是 DOMTokenList 的实例,有 length 属性和以下方法:
                    add(value) : 将给定的字符串添加到列表中,如果已经存在,就不添加了
                    contains(value) : 表示列表中是否存在给定的值
                    remove(value) : 从列表中删除给定的字符串
                    toggle(value) : 如果存在删除它;如果不存在添加它。
3. 焦点管理
        document.activeElement   这个属性始终会引用 DOM 中当前获取焦点的元素。
                                                     元素获取焦点的方式有页面加载、用户输入(通常是通过按 Tab 键)和在代码中调用 focus() 方法。
        document.hasFocus();       检测文档是否获取了焦点。
 
4. 自定义数据类型
        <div id=‘myDiv‘ data-appId=‘12345‘ data-myName=‘Nicholad‘></div>
         var addpId = div.dataset.appId;          // 获取自定义数据
         div.dataset.appId = 2345;                    // 设置自定义数据
 
5. 插入标记
            element.innerHTML                  // 在写模式下,innerHTML 的值(字符串)替换元素原来的所有子节点, 在读模式下,读取所有子节点
            element.outerHTML                    //  在读模式下,返回调用它的元素及所有子节点的 HTML 标签,在写模式下,会根据指定的 HTML 字符串创建新的DOM子树,替换调用的元素。
 
6. 元素大小
            6.1 偏移量
                    bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣
             6.2 客户区大小
                      bubuko.com,布布扣bubuko.com,布布扣
           6.3 确定元素大小
                        element.getBoundingClientRect();    返回一个矩形对象。这个对象包含4个属性:left, top, right, botom。这些属性都给出了元素在页面中相对于视口的位置。
        
          6.4 遍历
                        var div = document.getElementById(‘#div1‘);
                        var filter = function(node){
                                retrun node.tagName.toLowerCase() == ‘li‘ ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
                        }
                        var iterater = document.createNodeIterator(div, NodeFilter.SHOW_ELEMENT, filter, false);             // 第三个参数表示过滤节点,不过滤传入 null
                        var node = iterator.nextNode();
                        while(node != null){
                                alert(node.tagName);
                                node = iterator.nextNode();

js DOM 扩展,布布扣,bubuko.com

js DOM 扩展

原文:http://www.cnblogs.com/bdyl/p/3762355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!