2017-02-14 50 views
-2

默認情況下,jQuery的對象$允許您在整個DOM樹上運行選擇器。但是,Backbone(依賴於jQuery)允許您在整個(全局)DOM,$上運行選擇器,但也可以在本地骨幹視圖(主幹視圖中的this.$)上運行選擇器。它只是更快,因爲我們不遍歷整個DOM樹,只是它的一部分。jQuery選擇器在DOM子樹上執行(如骨幹)

問題是:如何在純jQuery(無骨幹)實現?代碼示例將不勝感激。

+0

所有downvoters - 這是不專業與什麼是錯的問題不做評論downvote。 – ducin

+0

如果你看Backbone的源代碼(和文檔),你會發現Backbone本身不做任何事情,它只是後臺的jQuery。所以降薪可能與缺乏研究工作和可能缺乏[mcve]有關。 –

+0

@EmileBergeron所以現在我想刪除這個問題,如果它不符合規定 - 它說我的帳戶可能會被禁止刪除回答的問題。廢話。 – ducin

回答

2

您使用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>

+3

[Backbone docs](http://backbonejs.org/#View-dollar)甚至會說:「它相當於運行:'view。$ el.find(selector)'」。 –