js学习总结----DOM中的节点和关系属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="div1">
        <h1>培训课程</h1>
        <ul>
            <li>html+css</li>
            <li>javascript</li>
            <li>正式课</li>
            <li>移动端课程</li>
            <li>node.js正式课</li>
        </ul>
    </div>
    <script>
        //获取关系的属性
        var oDiv = document.getElementById("div1");
        console.log(oDiv.childNodes);//获取所有的子节点
        console.log(oDiv.children);//获取所有的元素子节点
    </script>
</body>
</html>

节点:Node 一个页面中的标签、文字、注释。。。都是节点

childNodes:获取所有的子节点

children:获取所有的元素子节点

parentNode:获取父亲节点

previousSibling:获取上一个哥哥节点

nextSibling:获取下一个弟弟节点

firstChild:获取所有的子节点中的第一个

lastChild:获取所有子节点中的最后一个

在js中需要我们掌握的节点类型:

              nodeType             nodeName                     nodeValue

  元素节点(元素标签)                  1                      大写的标签名                    null

  文本节点(文字)      3       #text         文字内容

  注释节点(注释)      8      #comment       注释内容

  document         9      #document       null

  注意:在标准浏览器下,我们把space空格和Enter回车都当作我们的文本节点

  方法:模拟我们的children方法,实现获取指定元素下的元素子节点  

       /        * getMyChildren:获取制定元素下的所有的元素节点        * @parameter:   *   ele:我们要获取谁下面的,就把谁传过来       tagName:获取元素的类型
        * @return:
        *   我们最后获取的元素子节点
        *   by xxxxxxxxx
        * */
        function getMyChildren(ele,tagName){
            var ary = [],nodes = ele.childNodes;
            for(var i = 0;i<nodes.length;i++){
                var cur = nodes[i];
                if(cur.nodeType===1){            if(tagName){              if(cur.nodeName.toLowerCase===tagName.toLowerCase){                ary.push(cur)              }             }else{
             ary.push(cur);
            }

                }
            }
            return ary;

        }

获取一个元素的上一个哥哥元素子节点 

    function prev(ele){var pre = ele.previousSibling;
        while(pre && pre.nodeType!==1){
            pre = pre.previousSibling;
        }      return pre;    }

获取一个元素的所有的哥哥元素节点

 function prevAll(ele){
            var pre = ele.previousSibling,ary = [];
            while(pre){
                if(pre,nodeType===1){
                    ary.unshift(pre);
                }
                pre = pre.previousSibling;
            }
            return ary;
        }
时间: 2024-08-16 10:04:33

js学习总结----DOM中的节点和关系属性的相关文章

js基础之DOM中document对象的常用属性方法

-----引入 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问. 属性 1  document.anchors  返回对文档中所有 Anchor 对象的引用.还有document.links/document.forms/document.images等 2  document.URL       返回当前文档的url 3  document.title       返回当前文档的标题 方法 1 

JS学习之DOM节点的关系属性封装、克隆节点、Dom中Style常用的一些属性等小结

JS DOM节点: 在JS DOM中节点的关系被定义为节点的属性: 通常有以下几种节点之间的关系: (这里的关系是所有浏览器都支持的) parentNode    父节点 childNodes    子节点 firstChild    父节点里的第一个子节点 lastChild     父节点里的最后一个子节点 nextSibling    与子节点并列的下一个兄弟节点 previousSibling   与子节点并列的上一个兄弟节点 火狐与谷歌支持而ie8不支持的节点关系有: previous

HTML DOM中几个常用的属性

nodeName + nodeValue + nodeType nodeName : 某个节点的名称. 元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document 注:nodeName 永远是大写的 nodeValue : 某个节点的值. 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nodeValue 属性包含属性值. 注:nodeValue 属

DOM中document对象的常用属性方法总结

提要: 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问 1.常见对象属性 document.title                 //设置文档标题等价于HTML的<title>标签document.bgColor               //设置页面背景色document.fgColor               //设置前景色(文本颜色)document.linkColor    

javascript DOM中的节点层次和节点类型概述

针对JS高级程序设计这本书,主要是理解概念,大部分内容源自书内.写这个主要是当个书中的笔记加总结 存在的问题请大家多多指正! 因为DOM这方面的对象方法操作性都特别强,但是逻辑很简单,所以就没有涉及到实际的代码. 另外这篇不包括DOM2,DOM3的内容 DOM 文档对象模型,针对HTML和XML文档的一个API.描绘了一个层次化的结点树,循序开发人员添加,移除修改页面上的一部分. 1节点层次 DOM把文档描绘成一个由多层节点构成的结构.节点有不同的类型.节点之间的关系构成了层次. 文档节点是每个

dom中一些节点获取和增改

1获取标签里的文本对象: 对象.innerText 获取标签里的文本内容     早期的火狐浏览器中是不支持的 赋值会输出转义后的内容 对象.innerHTML 获取标签里的所有内容 赋值会输出原样 都兼容 对象.textContent 获取标签里的文本内容   IE8之前包括ie8不支持  2 自定义属性 自定义属性 js无法通过点的方式获得 对象.getAttribute("属性名")  得到自定义属性对象 对象.setAttribute("属性名",”属性值“

js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象

事件对象    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息.所有浏览器对象都支持event对象,但支持方式不同. DOM中的事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中.无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event

DOM中元素节点、属性节点、文本节点

DOM中有12中节点,但最常用到的是元素节点,属性节点,文本节点. 元素节点的节点类型(nodeType)是1: 属性节点的节点类型(nodeType)是2: 文本节点的节点类型(nodeType)是3. 元素节点的 nodeName 是标签名称属性节点的 nodeName 是属性名称文本节点的 nodeName 永远是 #text 对于文本节点,nodeValue 属性包含文本. 对于属性节点,nodeValue 属性包含属性值. nodeValue 属性对于文档节点和元素节点是不可用的. n

DOM中的节点属性

我们在做web测试时,适当了解前端的知识有助于我们测试工作中bug的定位,同时也有助于自动化测试中的元素定位.下面我简单写一下关于JavaScript中的DOM的节点元素. DOM ,文件对象模型,主要是针对HTML 和XML文档中的一个api(应用程序接口).DOM定义了访问和处理HTML文档的标准方法,描绘了一个层次化的节点树.DOM将HTML文档呈现出元素.属性和文本的树形结构. 在DOM中,每一个节点都是一个对象.DOM节点都有三个重要的属性: 1. nodeName : 节点的名称 2