根据附加的选择器过滤器,在不是子,兄弟或祖先的容器中获取元素

时间:2014-10-02 19:13:48

标签: javascript jquery jquery-traversing

我有一个像这样递归重复的结构:

HTML: 

<!-- Root -->    
<div class="divRoot">

   <!-- Level 1, Item 1 -->
   <div class="divBranch">
      <!-- Toggle Trigger for following content -->
      <div class="divTrigger">
         <span class="lblName"> Level 1, Item 1 </span>
      </div>

      <!-- Level Two, Item 1 -->
      <div class="divBranch">
         <div class="divTrigger">           
            <span class="lblName"> Level 2, Item 1 </span>
         </div>

         <!-- Repeat the pattern as needed -->
      </div>
   </div>

   <!-- Level 1, Item 2 -->
   <div class="divBranch">
      <!-- Toggle Trigger for following content -->
      <div class="divTrigger">
         <span class="lblName"> Level 1, Item 2 </span>
      </div>

      <!-- Level Two, Item 2 -->
      <div class="divBranch">
         <div class="divTrigger">            
            <span class="lblName"> Level 2, Item 2 </span>
         </div>

         <!-- Repeat pattern as needed -->
      </div>
   </div>
</div>

当我在任何分支中切换项目时,我需要检查是否有任何项目在另一个分支中可见。 项可见性是附加选择器过滤器。它必须是可见的,所以我可以找到它并在显示触发分支时隐藏另一个分支中的所有项目。

我不能把树链起来,直到我打到根并开始回到其他人。我试过了,它在本地显着减慢了页面。我甚至不想看到它在现场网站上做了什么。

另一个想法是在根元素中搜索divBranch类的后代,这些子类是可见的并且不包含在触发器祖先,后代中,而不是它本身,但我不知道如何做到这一点。

有关如何实现这一目标的任何建议吗?

0 个答案:

没有答案