美文网首页
JS节点和描述节点之间的关系及应用

JS节点和描述节点之间的关系及应用

作者: 追马的时间种草 | 来源:发表于2019-09-23 08:37 被阅读0次

js节点和描述节点之间的关系及应用

节点 : Node(页面中所有东西都是节点)

节点集合: NodeList (getElementsByName / querySelectorAll获取的都是节点集合)

  • 元素节点(元素标签)
    • nodeType: 1
    • nodeName: 大写的标签名
    • nodeValue: null
  • 文本节点
    • nodeType: 3
    • nodeName: ’#Text’
    • nodeValue: 文本内容
  • 注释节点
    • nodeType:8
    • nodeName: ’#comment’
    • nodeValue: 注释内容
  • 文档节点
    • nodeType: 9
    • nodeName: ’#document’
    • nodeValue: null
  • ……

描述这些节点之间的关系属性

  • parent:获取父级节点
  • childNodes : 获取所有子节点
  • firstChild:获取第一个子节点
  • lastChild:获取最后一个子节点
  • children: 获取所有的元素子节点(子元素标签)
  • firstElementChild/lastElementChild:获取第一个/最后一个元素子节点(不兼容ie678)
  • previousSibling:获取上一个兄弟节点
  • previousElementSibling/nextElementSibling:获取上/下一个兄弟元素节点(不兼容ie678)

节点的应用

 <ul id="box">
        <li>git,npm操作</li>
        <li>面相对象和原型</li>
        <li>闭包作用域,堆栈内存处理</li>
        <li>es6从入门到放弃</li>
        <li>Dom事件</li>
    </ul>
    <script>
        let box=document.getElementById("box")//<li>git,npm操作</li>
        console.log(box.firstElementChild);//
        console.log(box.firstElementChild.nextElementSibling)//<li>面相对象和原型</li>
    </script>

封装元素子节点children

//封装元素子节点children
        function children(content){
            //现获取所有子节点
            let res=[],
            nodeList=content.childNodes;
            //循环所有子节点
            for (let i = 0; i < array.length; i++) {
                var item=NodeList;
                item.nodeType===1?res.push(item):null
            }
            return res;

封装获取上一个兄弟元素节点

//获取上一个兄弟元素节点
        function prev(content){
            //先找上一个兄弟节点
            var pre=content.previousSibling;
            while(pre.nodeType !== 1){
                pre=pre.previousSibling;
            }
            return pre

        }

相关文章

网友评论

      本文标题:JS节点和描述节点之间的关系及应用

      本文链接:https://www.haomeiwen.com/subject/sbphyctx.html