如何在css选择器中选择下一个直接元素
How to select next immediate element in css selector in python selenium?
DOM结构如下:
<ul>
<li>
<a href="#" role="button" class="js-pagination link" data-page="1">1</a>
</li>
<li>
<a href="#" role="button" class="js-pagination link active" data-page="2">2</a>
</li>
<li>
<a href="#" role="button" class="js-pagination link " data-page="3">3</a>
</li>
<li>
<a href="#" role="button" class="js-pagination link " data-page="4">4</a>
</li>
</ul>
我必须在包含class="js-pagination link active"
的元素之后选择下一个直接元素(不是相邻元素)。在我们的例子中是第三个li
元素。我尝试了以下css选择器
"ul li a[class='js-pagination link active'] + li"
但它不工作,因为它在寻找a
标签的同一水平的li
。如何使用css选择器呢?
我不能使用。has(),因为我使用这个选择器在硒css选择查找元素
您可以使用:has()
来选择li
和a.js-pagination.link.active
,然后使用.next()
来选择下一个li
元素。
$('li:has(a.js-pagination.link.active)').next('li')
$('li:has(a.js-pagination.link.active)').next('li').css('background', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><a href="#" role="button" class="js-pagination link" data-page="1">1</a></li>
<li><a href="#" role="button" class="js-pagination link active" data-page="2">2</a></li>
<li><a href="#" role="button" class="js-pagination link " data-page="3">3</a></li>
<li><a href="#" role="button" class="js-pagination link " data-page="4">4</a></li>
</ul>
在css中也没有:has()
选择器,所以唯一的方法是使用js。
在jquery中,您可以找到.active
类,获得它的parent()
类和next()
类
$('.active').parent().next().css('background', 'green');
$('.active').parent().next().css('background', 'green');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><a href="#" role="button" class="js-pagination link" data-page="1">1</a></li>
<li><a href="#" role="button" class="js-pagination link active" data-page="2">2</a></li>
<li><a href="#" role="button" class="js-pagination link " data-page="3">3</a></li>
<li><a href="#" role="button" class="js-pagination link " data-page="4">4</a></li>
</ul>
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery转盘下一个元素没有滑入
- 获取锚点的下一个元素
- j查询 如何选择当前元素之后的下一个元素
- 如何在 JavaScript 中获取下一个元素和更新
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 如果上一个元素为空,则隐藏下一个元素
- 使用表时,Jquery Next()未正确突出显示下一个元素
- 如何将所有下一个元素包装到
- 获取活动元素之后的下一个元素
- jQuery-在每个复选框中获取下一个元素
- 找不到下一个元素
- 如何获取下一个元素's值-jquery
- 如何选择 $(this) 之后的下一个元素
- 专注于下一个元素
- 导入 serval WebComponent 时,上一个自定义元素被下一个元素覆盖
- 将一个类添加到所有下一个元素,直到该类的子元素为止
- 如何在javascript中获取数组的下一个元素
- 使用 jquery 将类添加到下一个元素