访问节点

作者: Hello杨先生 | 来源:发表于2019-07-04 20:29 被阅读0次

HTML

<div>
    AI
    <!--注释-->
    <img src="./images/p.jpeg" alt="">
    <ul>
        <li>11</li>
        <li>22</li>
        <li>33</li>
        <li>44</li>
    </ul>
    <p>我是p标签</p>
    <input type="text" value="11223" readonly>
    <h1>22222252</h1>
</div>

JavaScript

<script>

    var myDiv = document.getElementsByTagName("div")[0]

    var myUl = myDiv.getElementsByTagName("ul")[0]

    console.log(myUl.parentNode.innerText)//获取 ul的父节点
    console.log(myDiv.childNodes)//获取div 下的所有子节点 包括 空格注释 回车
    console.log(myDiv.childElementCount)//获取div 下的所有子标签元素个数
    console.log(myDiv.firstChild)//获取div 下的第一个子节点 可以为 空格注释 回车
    console.log(myDiv.firstElementChild)//获取div 下的第一个子 页面元素
    console.log(myDiv.lastChild)//获取div 下的最后一个子节点 可以为 空格注释 回车
    console.log(myDiv.lastElementChild)//获取div 下的最后一个子 页面元素

    console.log(myUl.firstElementChild)//获取ul 下的第一个子 页面元素
    console.log(myUl.firstElementChild.nextElementSibling)//获取ul 下的第二个子 页面元素
    console.log(myUl.firstElementChild.nextElementSibling.nextElementSibling)//获取ul 下的第三个子 页面元素
    console.log(myUl.lastElementChild)//获取ul 下的最后一个子 页面元素
    console.log(myUl.lastElementChild.previousElementSibling)//获取ul 下的最后一个子页面元素相邻的前一个元素
    console.log(myDiv.firstElementChild.getAttribute('src'))//获取某元素的某一个属性值
    myDiv.firstElementChild.setAttribute('src', "./images/p2.jpeg")//给元素设置属性值

    var myA = document.createElement("a")//js创建一个页面元素

    myA.setAttribute("href", "http://www.baidu.com")//给a设置href属性
    myA.innerText = "去百度"//给元素添加文本内容

    myDiv.appendChild(myA);//将新的元素添加到div后面

    document.body.insertBefore(myA, myDiv)//在myDiv 之前插入新的元素


    //移除某个元素的某一个属性
    myDiv.lastElementChild.previousElementSibling.removeAttribute("readonly")

    console.log(myDiv.nodeName)//获取节点名称
    console.log(myDiv.childNodes[0].nodeValue)//获取节点的值  根据节点往下找 找到文本节点才显示值  否则 值为null ==> 不可用
    //移除某一个节点
    var myP = myDiv.getElementsByTagName("p")[0]

    myDiv.removeChild(myP)

    //替换某一个节点.
    var myH1 = myDiv.getElementsByTagName("h1")[0]
    var myH2 = document.createElement("h2")
    myH2.innerText = "h2"

    myDiv.replaceChild(myH2,myH1)


</script>

CSS

 <style>
        * {
            padding: 0;
            margin: 0;
            list-style: none;
        }

        ul {
            border: 1px solid red;
        }

        div {
            border: 1px solid green;
            padding: 10px;
        }
    </style>

常规
通过父节点获取子节点:
parentObj.firstChild   获取已知父节点的第一个子节点
parentObj.lastChild   获取已知父节点的最后一个子节点
parentObj.childNodes 获取已知父节点的子节点数组(这里我在IE 7中获取的是所有直接的子节点)
parentObj.children 获取已知节点的直接子节点数组(在IE7中和childNodes效果一样)
parentObj.getElementsByTagName(tagName) 返回已知子节点中类型为指定值的子节点数组
通过临近节点获取兄弟节点:
neighbourNode.previousSibing 获取已知节点的前一个兄弟节点
neighbourNode.nextSibing 获取已知节点的下一个兄弟节点
通过子节点获取父节点:
   1、childNode.parentNode 获取已知节点的父节点

上面的方法基本都是可以递归是使用的,parentObj.firstChild.firstChild.firstChild...

相关文章

  • 2018-09-27 Day28 - JS修改标签元素操作

    根据拿到元素访问其他节点元素访问子节点 - children元素访问父节点 - parentNode元素访问兄弟节...

  • 访问节点

    HTML JavaScript CSS 常规通过父节点获取子节点:parentObj.firstChild ...

  • 使用ssh本地端口转发(Local forwarding),访问

    环境: 假设本地A节点可以访问B节点10.20.30.40,B节点可以访问C节点192.168.0.123,但从A...

  • js实现二叉树的前序遍历,中序遍历,后续遍历

    二叉树 前序遍历 先访问根节点(父节点); 再访问当前节点的左子树; 若当前节点无左子树,则访问当前节点的右子树;...

  • 常用DOM操作

    一. 选择DOM 二. 节点属性 访问节点属性 访问节点的 Attribute 三. 获取关系节点 四. 创建新节...

  • 深度优先搜索和广度优先搜索

    搜索 每个节点都要访问一次 每个节点仅仅要访问一次 对于节点的访问顺序不限深度优先:depth fist sear...

  • Python 数据结构

    1.二叉树构造 1.1中序遍历 首先访问左节点,然后访问根节点,然后访问右节点。 从左子树中的所有节点开始遍历,然...

  • 操作DOM—DOM基础

    一、访问节点 1)相对当前节点访问节点 提示每个节点都有一个childNodes属性,改属性保存着一个nodeLi...

  • 去中心化 -- 概述

    客户端 仅节点客户端,app节点客户端,仅app客户端。 节点、app访问 可访问性,仅节点间通讯,节点与app节...

  • 节点的访问

    var list=document.getElementById('list'); //获取非空子节点(child...

网友评论

    本文标题:访问节点

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