JavaScript选择超过元素的所有同级
我希望能够选择超过某个元素的所有同级,如下所示:JavaScript选择超过元素的所有同级,javascript,Javascript,我希望能够选择超过某个元素的所有同级,如下所示: <ul> <li>Unselected</li> <li>Unselected</li> <li id="start">Start Here</li> <li>Selected</li> <li>Selected</li> <li>Selected</
<ul>
<li>Unselected</li>
<li>Unselected</li>
<li id="start">Start Here</li>
<li>Selected</li>
<li>Selected</li>
<li>Selected</li>
</ul>
- 未选择
- 未选择
- 从这里开始
- 精选
- 精选
- 精选
我无法计划要选择的兄弟姐妹数量或开始的数量,因此我猜测在某个时候需要有一个.length
香草JS只请:)谢谢 您可以使用
~
选择器选择这些元素
var elems = document.querySelectorAll("#start ~ li");
var node=document.getElementById(“开始”)
var sibling=node.nextElementSibling代码>
这将在节点之后立即返回同级,或者为null,不再有可用的同级 只需使用nextElementSibling
,即可迭代兄弟节点:
var e = document.getElementById("start");
while (e = e.nextElementSibling) e.classList.add("selected");
var e=document.getElementById(“开始”);
而(e=e.nextElementSibling)e.classList.add(“选定”)代码>
。已选定{
颜色:红色;
}
- 未选择
- 未选择
- 从这里开始
- 精选
- 精选
- 精选
@RajaprabhuAravindasamy我想,在startOP询问了所有的兄弟姐妹,而不是一个。是的,我明白了。谢谢,无论如何,我现在不能删除我的答案,我可以在接下来的12小时内删除。我没有意识到~
选择器在第一个选择器之后启动。这是一个很好的解决方案,谢谢@Jasoneco很乐意帮忙!:)