zoukankan      html  css  js  c++  java
  • DOM基础代码练习(一)

    上一篇介绍了一下DOM的一些基础的知识,这里我整理了一些有关上一篇知识点的一些封装函数。

    1.遍历元素节点

     1 function retChild(node) {
     2         var child = node.childNodes,
     3               len = child.length;
     4         for(var i = 0; i < len; i++){
     5               if(child[i].nodeType === 1) {
     6                     console.log(child[i]);
     7                     child[i].hasChildNodes() && retChild(child[i]);
     8               }
     9         }
    10   }   

    JavaScript; “复制代码”); “查看纯文本代码”); “返回代码高亮”)

    2.封装函数,返回元素e的第n层父节点

     1   function retParent(e, n) {
     2         var n = n || 0; // 进行简单的容错检测
     3         if(n === 0) {
     4               return e;
     5         }
     6         for(var i = 0; e && (i<n); i++) {
     7               e = e.parentNode;
     8         }
     9         return e;
    10   }     
    JavaScript; “复制代码”); “查看纯文本代码”); “返回代码高亮”)

    3.封装函数,返回元素e的第n个兄弟元素节点,如果n为正,返回后面的兄弟元素节点,n为负,返回前面的,n为0,返回自己

      function retSibling(e, n){
            var n = n || 0;
            if(n === 0) {
                  return e;
            }
            while(e && n != 0) {
                  if(n > 0) {
                        if(e.nextElementSibling){ // 如果不是ie浏览器
                              e = e.nextElementSibling;
                        }else { // 如果是ie浏览器
                              e = e.nextSibling;
                              while(e && e.nodeType != 1) {
                                    e=e.nextSibling;
                        }
                 }
                 n–;
            }else {
                  if(e.previousElementSibling) {
                       e = e.previousElementSibling;
                  }else {
                        e = e.previousSibling;
                        while(e && e.nodeType != 1) {
                        e=e.previousSibling;
                        }
                 }
                 n++;
                 }
            }
            return e;
      }   

    JavaScript; “复制代码”); “查看纯文本代码”); “返回代码高亮”)

  • 相关阅读:
    使用Visual Studio 2012 开发 Html5 应用
    模块化与MVC
    跨站脚本攻击(Cross‐Site Scripting (XSS))
    C#程序开发中经常遇到的10条实用的代码
    运用DebugDiag诊断ASP.Net异常
    前端MVVM框架avalon
    TOGAF架构开发方法(ADM)之需求管理阶段
    C#4.0中var和dynamic的区别
    hive 不同用户 权限设置 出错处理
    Delphi中类的运行期TypeInfo信息结构说明
  • 原文地址:https://www.cnblogs.com/pandawind/p/10000913.html
Copyright © 2011-2022 走看看