首页 > 其他分享 >JS获取兄弟节点

JS获取兄弟节点

时间:2022-11-17 23:25:32浏览次数:44  
标签:高亮 children li 获取 移除 JS 节点

情景

image
点击li标签,会给每个li添加高亮显示

实现

如果用jq实现的话非常的方便,直接获取父节点,再获取子节点并移除所有类,对当前元素添加即可
思路主要就是:

  1. 移除所有元素的高亮对应的类名
  2. 给当前点击元素添加高亮的类

使用js时也是同样的思路,先通过parentNode获取父亲节点,再获取其children的所有节点,之后遍历即可

 const imgs = document.querySelectorAll('main li')

  // 给每个li添加点击事件
  imgs.forEach((li, index) => {
    li.addEventListener('click', (e) => {
      // 移除兄弟节点的选择类
	//获取到的parentNode.children不能使用forEach
      Array.from(li.parentNode.children).forEach(lis => {
        lis.classList.remove('imgSelect')
      })
      li.classList.toggle('imgSelect')

    })
  })

效果展示

image

此时就是点击哪个元素哪个元素就高亮

标签:高亮,children,li,获取,移除,JS,节点
From: https://www.cnblogs.com/zx529/p/16901741.html

相关文章