2017-02-14 2 views
-2

По умолчанию объект jQuery $ позволяет запускать селектора по всему дереву DOM. Тем не менее, Backbone (который полагается на jQuery) позволяет запускать селектор не по целому (глобальному) DOM, $, но также и по локальному скелету (this.$ в представлениях на основной линии). Это просто быстрее, так как мы не пересекаем все дерево DOM, а только его часть.Селектор jquery, выполненный на поддереве DOM (как в базовой линии)

Вопрос: как достичь этого в чистом jQuery (без позвоночника)? Будет оценен пример кода.

+0

для всех downvoters - это непрофессионально downvote без комментариев о том, что не так с вопросом. – ducin

+0

Если вы посмотрите на источник Backbone (и документы), вы увидите, что Backbone ничего не делает сам по себе, и это только jQuery в фоновом режиме. Таким образом, downvotes, вероятно, связаны с отсутствием исследовательских усилий и, возможно, с отсутствием [mcve]. –

+0

@EmileBergeron, так что теперь я хочу удалить этот вопрос, если он не соответствует правилам - и он говорит, что моя учетная запись может быть запрещена для удаления ответов на вопросы. Бред какой то. – ducin

ответ

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>

+3

[Backbone docs] (http://backbonejs.org/#View-dollar) даже говорят так: «Это эквивалентно запуску:' view. $ El.find (selector) '. –

Смежные вопросы