在DOM子树上执行的jquery选择器(如在主干中)

时间:2017-02-14 09:30:06

标签: javascript jquery dom backbone.js

默认情况下,jQuery的对象$允许您在整个DOM树上运行选择器。但是,Backbone(依赖于jQuery)允许您不在整个(全局)DOM $上运行选择器,而是在本地骨干视图(骨干视图中的this.$)上运行选择器。它只是更快,因为我们不遍历整个DOM树,而只是它的一部分。

问题是:如何在纯jQuery中实现这一点(没有主干)?一个代码示例将不胜感激。

1 个答案:

答案 0 :(得分:2)

您使用find

$(someElement).find("selector").doSomething();

还有一个可能会在某些阶段被弃用的形式,你有时会看到人们使用它看起来像这样:

$("selector", someElement).doSomething();

...但实际上jQuery所做的就是转身并调用find

在div中查找具有给定类的跨度的示例:

// Get the div
var div = $("#the-div");

// Find the span within it, turn it green
div.find(".foo").css("color", "green");
<div id="the-div">
  <span>Not this one.</span>
  <span class="foo">This one.</span>
</div>
<div>
  <span>Not this one.</span>
  <span class="foo">Not this one either, despite it having the class; it's in the wrong div.</span>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>