找到第一个父元素,但不是在根父元素之前

时间:2013-07-07 09:40:51

标签: javascript jquery

我有一个HTML结构lik3

<div>
  <ul>
    <li>
      <div>Other elements</div>
        <div>
          <ul>
            <li class='base-parent parent'>
              <div>Base Parent DEFINED</div>
              <ul>
                <li class="parent parent-level-1">
                  <div class="child">Inner Parent Level 1</div>
                  <ul>
                    <li class="parent parent-level-2">
                      <div class="child">Inner Parent Level 2</div>
                      <ul>
                        <li class="parent parent-level-3">
                          <div class="child">Innermost child 1</div>
                        </li>
                        <li class="parent parent-level-3">
                          <div class="child">Innermost child 2</div>
                        </li>
                      </ul>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>

虽然我可以找到div.child最接近的父LI,但我需要知道如何在li.base-parent下找到div.child类的第一个父LI元素,不包括base-parent。

2 个答案:

答案 0 :(得分:1)

您可以非常轻松地使用parents()

$('.child').parents('li.parent:not(.base-parent)').last();

这是jsFiddle

答案 1 :(得分:-1)

似乎有不合理数量的div。你听说过ids吗?

然后任务就简单多了。

$('#myide').whatever();