Как мне сделать часть документа? - PullRequest
0 голосов
/ 09 мая 2009

Я посмотрел документацию JQuery , прочитал FAQ и увидел много примеров. Похоже, чтобы получить набор всех элементов в документе, который описывается правилом, вы набираете код

$(rule)

где правило - строка, синтаксис которой описан здесь . Документ кажется скрытым входным параметром. Могу ли я сделать то же самое с поддеревом DOM? Если у меня есть элемент DOM, могу ли я написать что-то вроде

element.$(rule)

Ответы [ 3 ]

4 голосов
/ 09 мая 2009
$(rule, element)

Из документов:

jQuery (выражение, контекст)

Основные функциональные возможности jQuery вокруг этой функции. Все в jQuery основано на это, или использует это каким-то образом. Основное использование этой функции заключается в передать выражение (обычно состоящий из CSS), который затем находит все соответствующие элементы.

По умолчанию, если нет контекста указано, $ () ищет элементы DOM в контексте текущего HTML документ. Если вы укажете контекст, такой как элемент DOM или jQuery объект, выражение будет соответствовать против содержания этого контекста.

См. Селекторы для разрешенного CSS синтаксис для выражений.

2 голосов
/ 09 мая 2009

Есть несколько способов сделать это. Если у вас есть такой документ:

<html>
<body>
  <p>Test</p>
  <div id="box">
    <p>Hi There</p>
    <div id="subbox">
      <p>Bye</p>
    </div>
  </div>
  <p>Boo</p>
</body>
</html>

И вы хотели, чтобы абзацы находились внутри поля, вы можете specify a context найти:

$('p','#box'); // only find paragraphs inside of #box

Или вы можете использовать такие функции, как find или children:

$('#box').find('p'); // will return both the paragraphs inside of #box

$('#box').children('p'); // will only return the immediate children

Вместо того, чтобы иметь действительно длинные селекторы, я обычно хотел бы разделить поисковые термины настолько, насколько это возможно, потому что а) я думаю, что имеет больше смысла думать об этом таким образом, б) он помогает jQuery разбирать, так что он немного быстрее , Поэтому, когда я хочу найти только часть документа, я иногда использую комбинацию контекста и дополнительных функций:

$(myelement, mygreatercontext).find(myrefinedsearch);
0 голосов
/ 09 мая 2009

$(element).find(rule)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...