Javascript I';我试图选择一个嵌套的ul,尝试使用css,但遇到了问题

Javascript I';我试图选择一个嵌套的ul,尝试使用css,但遇到了问题,javascript,jquery,html,css,css-selectors,Javascript,Jquery,Html,Css,Css Selectors,我有一个cms呈现我正在设计的网站的菜单,我需要选择父菜单项的子菜单项。下面是代码的生成方式: <div class="menu"> <ul> <li></li> <li><a href="" class="CurrentButton" ... />text</a> <div> <ul&

我有一个cms呈现我正在设计的网站的菜单,我需要选择父菜单项的子菜单项。下面是代码的生成方式:

<div class="menu">
    <ul>
         <li></li>
         <li><a href="" class="CurrentButton" ... />text</a>
              <div>
                   <ul></ul>
              </div>
         </li>
    </ul>
</div>
有人能看出我做错了什么吗?jquery函数会更简单吗?我对jquery相当陌生,所以我不知道如何为它编写函数


当li中的锚具有类CurrentButton时,我试图选择li中的div,如果li中的锚没有类,则我希望将其隐藏

如果确实需要具体说明,请使用相邻元素操作符(+)

否则,您的目标是一个div,它是
CurrentButton
的后代,并且不存在

如果不需要如此具体,请使用与前面相同的选择器:

.menu > ul > li > div {

假设上面的
是类为
.menu
的元素的子元素,那么上面的
不是
a.CurrentButton
的子元素,因此您应该这样选择它:

.menu > ul > li > div {
    display: block;
}
正如您所知,
只选择一个元素。

尝试以下方法:

.menu ul > li > a {
    //selects all the as, but non of the divs
}

.menu ul > li > * {
    //selects anything inside a 'li', both 'a's and 'div's
}
在HTML div中是.CurrentButton的同级。因此,您应该使用
+
符号

.menu ul li div {
    display: none;
}

.menu > ul > li > a.CurrentButton + div {
    display: block;
}
您给出的两个示例都依赖于查找
.menu
元素,但代码中不存在任何元素。现在有了

a.CurrentButton div
选择任何
a.CurrentButton
s中的
div
。但是,您的div不在
a
s中。试试这个:

.menu ul > li > a {
    //selects all the as, but non of the divs
}

.menu ul > li > * {
    //selects anything inside a 'li', both 'a's and 'div's
}
要选择
a.CurrentButton
s之后的
div
s,请使用以下命令:

.menu ul li > a.CurrentButton + div {
    //any 'div's that are directly after 'a.CurrentButton'
}

我假设您的
.menu
是一个父div。您的第二个选择器尝试在
a.CurrentButton
中选择一个div。在这个带有应用类的锚点中没有div。div与锚点处于同一级别。它是围绕列表的div,我将编辑代码。这不起作用,我试着将!显示器上的重要提示:block也没有运气,谢谢你的回答,尽管我不这么认为。正如您的问题中所显示的HTML,这肯定会起作用。再次检查你的HTML或者在这里再次发布。问题是,我只想在锚点有类的情况下选择它。CurrentButton,这是这个特定CMS工作的唯一方式,它很糟糕。我尝试了这个方法,但没有工作,尝试了放!重要的是,没有运气第一个,第二个会选择它没有问题,但我只需要选择div,如果锚点上有类CurrentButton,否则我希望它是隐藏的这项工作:如果没有,你必须有其他CSS覆盖这一个。如果选择器变得更具体,比如它们命名类或id,就会发生这种情况。通过使用Inspect元素,您可以看到应用了哪些规则谢谢,去掉“>符号似乎可以实现此目的,尽管这很奇怪,但不会认为它们是一个问题:P不管怎样,谢谢您的帮助:)如果锚具有类CurrentButton,我只需要选择div,这是我使用的cms呈现列表的唯一方式。
.menu ul li > a.CurrentButton + div {
    //any 'div's that are directly after 'a.CurrentButton'
}