在jQuery中链接后如何再次引用第一个选定的元素?

时间:2016-08-19 08:20:35

标签: jquery jquery-selectors chaining

假设这样的事情:

$(#element).parent().parent().find().click().XXXrefer-my-first-selector-againXXX()

我知道有一种方法 - 在链接之后 - 再次重新选择第一个元素,但我也不记得它,也不知道要搜索的关键字。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可能正在寻找end

  

结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。

在这种情况下,由于您有两个parent和一个find,因此需要其中三个:

$("#element")
  .parent()
  .parent()
  .find(/*...arg here...*/)
  .click()
  .end()
  .end()
  .end()
  .doSomethingElseOnOriginalElement();

$("#element")
  .parent()
  .parent()
  .find(".d")
  .click()
  .end()
  .end()
  .end()
  .append("<span>- and we're back</span>");
<div class="a">a
  <div class="b">b
    <div class="c">c
      <div id="element">element</div>
    </div>
  </div>
  <div class="d">d</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

但坦率地说,在你引用的代码中,我只使用一个变量:

var elm = $("#element");
elm.parent().parent().find(/*...arg here...*/).click();
elm.doSomethingElseOnOriginalElement();