• DOM中的previousSibling,nextSibling,firstChild,lastChild和parentNode节点学习


    几个主要节点类型:
         ELEMENT_NODE         = 1;    元素节点  
         TEXT_NODE              = 3;    文本节点
         DOCUMENT_NODE     = 9;    文档节点

    在IE中会自动过滤掉空白文本节点   elem.previousSibling 
    在FireFox,Chrome等浏览器中可能会包含空白文本节点  elem.previousSibling  --- [object text]

         function prev(elem) {          //获取当前节点的上一个元素节点
                do {
                    elem = elem.previousSibling;
                } while (elem && elem.nodeType != 1);
                return elem;
            }

            function next(elem) {         //获取当前节点的下个元素节点
                do {
                    elem = elem.nextSibling;
                } while (elem && elem.nodeType != 1);
                return elem;
            }

            function first(elem) {        //当前节点的子节点的第一个元素节点
                elem = elem.firstChild;
                return elem && elem.nodeType != 1 ? next(elem) : elem;
            }

            function last(elem) {         //当前节点的子节点的最后一个元素节点
                elem = elem.lastChild;
                return elem && elem.nodeType != 1 ? prev(elem) : elem;
            }

            function parent(elem, num) {   //获取祖先元素
                num = num || 1;
                for (var i = 0; i < num; i++) {
                    if (elem != null) elem = elem.parentNode;
                }
                return elem;
            }

    原文:http://www.cnblogs.com/jikey/archive/2011/07/21/2112470.html

  • 相关阅读:
    Sqlmap使用详解
    WEB漏洞学习手册
    量压形态的使用方法
    sql执行过程及常见优化手段
    什么是JavaScript 函数作用域
    git http 拉取代码 自动输入用户名和密码
    PHP 报文件写入无权限 file_put_contents failed to open stream: Permission denied in xxxxx on line 2
    记一次 解决PHP Linux服务器报 打开文件数过多的异常
    微信开发 坑 记录帖
    python 安装 cv2 注意事项 填坑 opencv-python 找不到指定的模块
  • 原文地址:https://www.cnblogs.com/kuikui/p/2303779.html
Copyright © 2020-2023  润新知