Javascript 打开嵌套导航器的父项

Javascript 打开嵌套导航器的父项,javascript,jquery,Javascript,Jquery,我有一个导航器的代码,就像手风琴一样 演示我的导航器的图片: 忽略“wierd字符”,这是我的语言 这是如何构建的代码示例: 如您所见,导航器的最大深度为3级 我试图实现的是,如果用户使用jQuery浏览id为“13”左右的类别,我将选择类为13的元素,然后一直显示到它,并用某种颜色标记它 以下是链接的构建方式: <a class="13" href="category.php?cid=13">בלוקים ודפדפות</a> 以及: 不幸的是,它根本不起作用

我有一个导航器的代码,就像手风琴一样

演示我的导航器的图片:

忽略“wierd字符”,这是我的语言

这是如何构建的代码示例:

如您所见,导航器的最大深度为3级

我试图实现的是,如果用户使用jQuery浏览id为“13”左右的类别,我将选择为13的元素,然后一直显示到它,并用某种颜色标记它

以下是链接的构建方式:

<a class="13" href="category.php?cid=13">בלוקים ודפדפות</a>
以及:

不幸的是,它根本不起作用


还有其他想法吗?

我想你差不多有了。请尝试以下方法:

$("."+$("#cid").val()).parents("ul").show();
jQuery.prevAll
匹配所有同级,但您希望匹配父级

兄弟姐妹 同级元素位于另一个元素的下一个
。例如:

<div>
    <p>Sibling 1</p>
    <p>Sibling 2</p>
</div>

兄弟姐妹1

兄弟姐妹2

兄弟姐妹1和兄弟姐妹2是彼此的兄弟姐妹。他们共享同一个父母。他们都是同一父母的孩子

但你想找父母

父母亲
参考上面的示例,有一个顶级父元素
id=“a”
。我们将通过元素的
id
引用元素

  • 元素
    AA
    有同级
    AB
    ,父级
    A
  • 元素
    AB
    有同级
    AA
    ,父级
    A
  • 元素
    AAA
    有父
    AA
    ,祖父母
    A
  • 元素
    ABA
    有父元素
    AB
    ,祖父母
    A
  • 元素
    ABAA
    有兄弟
    ABAB
    、父母
    ABA
    、祖父母
    AB
    、曾祖父母
    A
  • 元素
    ABAB
    有兄弟
    ABAA
    、父母
    ABA
    、祖父母
    AB
    、曾祖父母
    A

我认为您要寻找的不是
previtil
prevAll
(选择兄弟姐妹):


(请看)

哦,我想它可能是银河系基础。请留下这个。这不是这个话题的问题。请试着关注我的问题并提出解决方案。你能更清楚地描述什么不起作用。非常感谢!这一个有效,我只是不明白为什么
prevAll
没有像我期望的那样有效。让我知道这是否更有意义,或者我是否应该修改。是的,它非常有用。如果可以的话,还有一个问题,我想给所选
标记的
li
父项涂上颜色,我尝试了
$(“++$(“#cid”).val().prev('li')
,以选择该
li
,但它不起作用,知道为什么吗?因为
li
是父项,而不是兄弟项
prev
是同级选择器。改为使用
.parent('li')
。我尝试了.parent('li'),它不起作用,但如果我使用.parent.parent,它确实起作用了:/
$("."+$("#cid").val()).prevAll("ul").show();
$("."+$("#cid").val()).parents("ul").show();
<div>
    <p>Sibling 1</p>
    <p>Sibling 2</p>
</div>
<ul id="A">
    <li id="AA">
        <ul id="AAA">
            <li id="AAAA"></li>
            <li id="AAAB"></li>
        </ul>
    </li>
    <li id="AB">
        <ul id="ABA">
            <li id="ABAA"></li>
            <li id="ABAB"></li>
        </ul>
    </li>
</ul>
$(liselector).parents('ul').slideDown().prev('.do').text('-');