当前位置: 首页 > 知识库问答 >
问题:

如何选择js中元素的所有li子元素

赫连正初
2023-03-14

如何选择js中元素的所有li子元素

我想选择这个项目的所有li元素(直接子元素,盛大子元素)

document.querySelectorAll(".stellarnav li.has-sub").forEach(item =>{
    item.addEventListener("click", function(){
        console.log(item)
        // to make you understand I described it below in css language
        // in CSS language it is like this: item li

        // then I want to removeAttribute from the all the child
        // like this
        document.querySelectorAll(`${item} li`).forEach(childItem =>{
            childItem.removeAttribute("open");
        })
        // how can I achive this thing to select all the li childs
        // here I tried it but this is not valid
    })
});```

共有1个答案

慕容越泽
2023-03-14

只要运行这个。查询选择器all('li')。弗雷奇(李)=

这是一个文档查询选择所有文档

测试代码:

document.querySelectorAll(".nav li.has-sub").forEach(item =>{
      
  item.addEventListener("click", function(){
      this.querySelectorAll('li').forEach(li=>li.removeAttribute("open"));
  })
})
li[open]{
  color: red;
}
.nav >li{
  margin: 10px
}
<ul class='nav'>
  <li class='has-sub'>
     this is has-sub li 1
    <ul>
      <li open>
        this is open
      </li>
      <li open>
        this is open
      </li>
      <li>   this is another li
      </li>
    </ul>
  </li>
  <li class='has-sub'>
     this is has-sub li 2
    <ul>
      <li open>
        this is open
      </li>
      <li open>
        this is open
      </li>
      <li> this is another li
      </li>
    </ul>
  </li>
  <li>
     this is li 3
    <ul>
      <li open>
        this is not has-sub open
      </li>
      <li open>
       this is not has-sub open
      </li>
      <li>  this is another li
      </li>
    </ul>
  </li>
</ul>

 类似资料:
  • 但是querySelectorAll(“:not([foo])”)仍然会返回未选定元素的子元素。

  • 我是冬眠新手,不会RTFM,所以我希望有人能帮我节省很多时间。 我的数据库中的对象之间有多对多的关系。假设员工和工作。 我想选择分配给给定员工的所有作业。我的对象乔布斯有一个正在处理它的所有员工的列表。所以,在java中,它应该是:作业job.employees.contains(员工)。除了我需要把它变成一个Hibernate查询什么的。 现在,我在选择所有东西后,正在Java中使用蛮力。 如何

  • 问题内容: 如何使用CSS3选择器选择除最后一个子项之外的所有子项? 例如,只得到最后一个孩子第N个子项(1) 是的。。 问题答案: 您可以使用否定伪类:not()对:last-child伪类。正在被引入CSS选择器3级,它不适用于IE8或更低版本:

  • 本文向大家介绍jQuery 选择元素的子元素,包括了jQuery 选择元素的子元素的使用技巧和注意事项,需要的朋友参考一下 示例 要选择元素的子代,可以使用children()方法。 更改元素所有子.parent元素的颜色: 该方法接受一个可选selector参数,该参数可用于过滤返回的元素。            

  • 问题内容: 如何递归选择所有子元素? 此类仅在定义的className和所有直接子级上抛出一个类。您如何以一种简单的方式选择所有子节点,如下所示: 问题答案: 使用 空格 匹配元素的所有后代: 匹配 x 内的每个元素 y ,无论它嵌套在多深处-孩子,孙子等等。 __ 星号匹配任何元素。 官方规范:CSS2.1:第5.5章:后代选择器

  • 问题内容: 我正在寻找一个选择器,如果它们具有特定的子元素,它将选择所有元素。例如,选择所有带孩子的人。 可能? 问题答案: 如果元素包含特定的子元素,是否可以选择? 不幸的是还没有。 在CSS2和CSS3选择器的规格不允许任何形式的亲本选配。 关于规格变更的注意事项 从现在开始,这是关于此帖子准确性的免责声明。CSS中的父选择器已经讨论了很多年。由于尚未达成共识,因此变化不断发生。我将尝试使此答