节点操作 鼠标移入

节点

网页中的所有内容都是节点(如:标签、属性、文本、注释等),在DOM 中,节点使用 node

来表示。HTML DOM 树中的所有节点均可通过 JavaScript 进行访问,所有 HTML 元素(节点)

均可被修改、创建或删除

节点操作(增  删  改  查)

通过节点关系查找元素 父亲    语法:元素.parentNode

document.querySelector('.close').addEventListener('click', function () {
        this.parentNode.style.display = 'none'
      })

获取子节点    语法:元素.children

const ul = document.querySelector('ul')
      console.log(Array.isArray(ul.children))
      console.log(ul.children) // 伪数组 本质是对象 {0:...,1:***, length:20}
      console.log(ul.childNodes) // 了解   所有儿子 包括文本节点
      for (let i = 0; i < ul.children.length; i++) {
        console.log(ul.children[i])
      }

兄弟节点

const country = document.querySelector('ul  li:nth-child(2)')
      console.log(country.previousSibling) // 了解
      console.log(country.previousElementSibling) // 上一个兄弟
      console.log(country.nextElementSibling) // 下一个兄弟
<textarea name="" id="" cols="30" rows="10"></textarea>
    <button>发布评论</button>
    <ul class="comment"></ul>

      // 获取相关元素
      const tarea = document.querySelector('textarea')
      const btn = document.querySelector('button')
      const comment = document.querySelector('.comment')
      // 注册事件
      btn.addEventListener('click', function () {
        // 1 获取文本域内容
        let txt = tarea.value.trim()
        if (txt === '') return
        // 检测敏感词汇 sb
        let index = txt.indexOf('sb')
        while (index !== -1) {
          txt = txt.replace('sb', '**')
          index = txt.indexOf('sb')
        }
        // 2 创建元素
        const li = document.createElement('li')
        
        li.innerHTML = txt
        // 3 把li添加到ul
        // comment.appendChild(li)
        comment.append(li)
        //comment.prepend(li) // 在父元素的第一个子元素之前添加
        // 4 清空文本域
        tarea.value = ''
      })

删除元素 元素.remove()

 const ul = document.querySelector('ul')
      // ul.children[1].remove() '自杀' -> DOM树上不存在该元素
      // ul.removeChild(ul.children[1]) 父亲删除孩子
      // ul.children[1].style.display = 'none' // -> 元素隐藏,DOM树上还存在

touchstart触摸开始

  let startX = 0
      document
        .querySelector('.box')
        .addEventListener('touchstart', function (e) {
          startX = e.changedTouches[0].pageX
          console.log('触摸开始')
        })

touchmove一直触摸

document
        .querySelector('.box')
        .addEventListener('touchmove', function (e) {
          const diff = e.changedTouches[0].pageX - startX
          console.log(diff > 0 ? '右滑' : '左滑')
          console.log('一直触摸')
        })

touchend触摸结束

document.querySelector('.box').addEventListener('touchend', function () {
        console.log('触摸结束')
      })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值