节点操作(增加) /案例:下拉菜单/案例:简单版发布留言

节点操作

因为利用DOM提供的方法获取元素逻辑性不强且非常繁琐

因此学习利用节点层级关系获取元素:

  • 利用父子兄的关系获取元素
  • 逻辑性强,但兼容性差

节点:页面中所有的内容都是节点(标签,属性,文本,注释等),在DOM中,节点使用node来获取
HTML DOM树中的所有节点都可以通过JS来访问,所有HTML元素都可以被修改,也可以创建或者删除
节点至少有:nodeType(节点类型)、nodeName(节点名称)、nodeValue(节点值)这三个基本属性

  • 元素节点 nodeType 为 1
  • 属性节点 nodeType 为 2
  • 文本节点 nodeType 为 3 (文本节点包含 文字、空格、换行等)
    在实际开发中,主要操作的是元素节点

父节点 parentNode

  <body>
    <div class="box">
      <span class="erweima"></span>
    </div>
    <script>
        //1.父节点 parentNode
        var erweima = document.querySelector('.erweima');
        //以往得到box节点
        var box = document.querySelector('box');
        console.log(erweima.parentNode);  //通过erweima的父节点得到box节点 
    </script>

得到的是离元素最近的父节点(就近原则),如果找不到父节点,就返回为空(null)

子节点 childNodes

以此为例:

    <ol>
      <li></li>
      <li></li>
      <li></li>
    </ol>
    <ul>
      <li></li>
      <li></li>
      <li></li>
    </ul>

1. 方法一:

element.childNodes :这样得到的是所有的子节点,包括 元素节点、文本节点等
如果只想要获得里面的元素节点,还需要做出一些处理ul.childNodes[i].nodeType == 1
元素节点 nodeType 为 1、属性节点 nodeType 为 2、文本节点 nodeType 为 3

    //2.子节点
     var ul = document.querySelector("ul");
     console.log(ul.childNodes); //这样得到的是所有的子节点,包括 元素节点、文本节点等
     //如果只想要获得里面的元素节点,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值