默认情况下,jQuery的对象$
允许您在整个DOM树上运行选择器。但是,Backbone(依赖于jQuery)允许您不在整个(全局)DOM $
上运行选择器,而是在本地骨干视图(骨干视图中的this.$
)上运行选择器。它只是更快,因为我们不遍历整个DOM树,而只是它的一部分。
问题是:如何在纯jQuery中实现这一点(没有主干)?一个代码示例将不胜感激。
答案 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>