默認情況下,jQuery的對象$
允許您在整個DOM樹上運行選擇器。但是,Backbone(依賴於jQuery)允許您在整個(全局)DOM,$
上運行選擇器,但也可以在本地骨幹視圖(主幹視圖中的this.$
)上運行選擇器。它只是更快,因爲我們不遍歷整個DOM樹,只是它的一部分。jQuery選擇器在DOM子樹上執行(如骨幹)
問題是:如何在純jQuery(無骨幹)實現?代碼示例將不勝感激。
默認情況下,jQuery的對象$
允許您在整個DOM樹上運行選擇器。但是,Backbone(依賴於jQuery)允許您在整個(全局)DOM,$
上運行選擇器,但也可以在本地骨幹視圖(主幹視圖中的this.$
)上運行選擇器。它只是更快,因爲我們不遍歷整個DOM樹,只是它的一部分。jQuery選擇器在DOM子樹上執行(如骨幹)
問題是:如何在純jQuery(無骨幹)實現?代碼示例將不勝感激。
您使用find
:
$(someElement).find("selector").doSomething();
還有一個可能要被棄用-AT-某些階段形式的,你會使用的人看起來像這樣有時會看到:
$("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>
[Backbone docs](http://backbonejs.org/#View-dollar)甚至會說:「它相當於運行:'view。$ el.find(selector)'」。 –
所有downvoters - 這是不專業與什麼是錯的問題不做評論downvote。 – ducin
如果你看Backbone的源代碼(和文檔),你會發現Backbone本身不做任何事情,它只是後臺的jQuery。所以降薪可能與缺乏研究工作和可能缺乏[mcve]有關。 –
@EmileBergeron所以現在我想刪除這個問題,如果它不符合規定 - 它說我的帳戶可能會被禁止刪除回答的問題。廢話。 – ducin