Javascript 如何基于两个选择器查找元素?
我有这样一棵末日树:Javascript 如何基于两个选择器查找元素?,javascript,jquery,find,contains,belongs-to,Javascript,Jquery,Find,Contains,Belongs To,我有这样一棵末日树: ul #navigation li .active ul li.active_li li li /ul li ul li.active_li li li /ul /ul 我想在ul中找到属于li的li类活动的li。) 正如我们所看到的,有2个li,其中一个类为active\u li。我只想要第一个 类似于:$('#navigati
ul #navigation
li .active
ul
li.active_li
li
li
/ul
li
ul
li.active_li
li
li
/ul
/ul
我想在ul
中找到属于li
的li
类活动的li
。)
正如我们所看到的,有2个li
,其中一个类为active\u li
。我只想要第一个
类似于:$('#navigation').find('li.active').find('li.active)li').doSomething()代码>
这个选择器似乎不起作用
有什么想法吗?试试这个选择器:
$('#navigation li.active ul li.active_li')
^^
\_ You can get rid of this, as <li> elements
exist only within <ul> elements.
$(“#导航li.active ul li.active#li”)
^^
\_您可以将其作为元素删除
仅存在于元素中。
您可以使用
$('#navigation li.active li.active_li').each(function(){
});
并在运行第一个函数后关闭该函数
或者,如果您只想选择第一个:
$('#navigation li.active li.active_li').first();
jQuery
与CSS具有相同的后代/祖先选择器概念。。这将起作用:$('navigation li.active'u li');可能是父项还是下划线?@tandu:我认为可以肯定地说,任何CSS选择器都可以作为jQuery选择器使用。@Blender它不是。。jQuery没有CSS的一些伪类选择器的概念,不支持媒体查询等(这些查询没有意义),也不支持CSS 4选择器(不完整且未使用)。CSS肯定与jQuery选择器不兼容——你不是这么说的。@tandu:jQuery的选择器引擎很乐意解析大多数CSS选择器。有一些例外(大部分是模糊的伪类,但逻辑上不属于jQuery代码):@Blender链接似乎与我们所讨论的内容无关。。jQuery没有实现:悬停
,:访问
,或:活动
——我不会把它们称为模糊的,也不会说它们在逻辑上不属于jQuery代码——如果它们没有,为什么要实现:焦点
?