2017-02-14 9 views
-2

デフォルトでは、jQueryのオブジェクト$は、DOMツリー全体にわたってセレクタを実行することができます。しかし、バックボーン(これはjQueryに依存しています)は、グローバル(全世界)DOMではなくセレクタを$だけでなく、ローカルバックボーンビュー(バックボーンビューではthis.$)でも実行できます。 DOMツリー全体をトラバースするのではなく、その部分だけをトラバースするので、より高速です。DOMサブツリー(バックボーンのように)で実行されるjqueryセレクタ

質問はです:純粋なjQuery(バックボーンなし)でそれを達成する方法は?コード例は高く評価されます。

+0

- それは専門外だが、質問が間違っているものにノーコメントをdownvoteします。 – ducin

+0

Backboneのソース(およびドキュメント)を見ると、Backbone自体は何もせず、バックグラウンドではjQueryだけであることがわかります。そのため、下降音はおそらく研究努力の欠如とおそらくは[mcve]の欠如に関連しています。 –

+0

@EmileBergeronこれが規制に準拠していない場合、私はこの質問を削除したいと思っています。ナンセンス。 – ducin

答えて

2

あなたはfind使用:

もあります
$(someElement).find("selector").doSomething(); 

そうツー・廃止される-で、いくつかの段階のあなたは時々、人々はそれは次のようになります使用して表示されますフォーム:

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

...しかし文字通りすべてのjQueryはこれを回してfindと呼んでいます。指定されたクラスでのスパンのためのdivの中に探して

例:すべてのdownvotersため

// 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) '"。 –

関連する問題