Параметры селектора Jquery - PullRequest
       19

Параметры селектора Jquery

3 голосов
/ 23 февраля 2010

Первый пост здесь, поэтому, пожалуйста, будьте осторожны:)

Я искал по всей сети, и я не уверен, что ищу по правильным терминам ни по его названию Но что делают вторичные опции в селекторе jQuery? Например:

$('.results table', this.parent().prev())

Второй набор параметров в таблице .results соответствует im, не уверен, что это на самом деле делает? Это похоже на $('.results table').parent().prev() например. Извините, я только что поднял этот код в качестве примера.

Цените указатели, так как я только изучаю jQuery.

Ответы [ 3 ]

6 голосов
/ 23 февраля 2010

Второй параметр является необязательным контекстом, который можно предоставить ограничителю селектора для поиска совпадений только в предоставленном контексте. Например, предположим, что вы просматриваете элементы <tr> элемента <table>, и в каждом элементе <tr> вы хотите выбрать второй элемент <td>. Вы можете использовать следующее

$('table tr').each(function() {
    $('td:eq(1)', this).doSomething(); // the function context, this, is the `<tr>`
                                       // element in each iteration
});

Документация по селекторам действительно очень хороша и заслуживает внимательного изучения. На самом деле вся документация по jQuery API хороша:)

2 голосов
/ 23 февраля 2010

Это означает, что нужно искать селектор где-то «под» элементами, на которые ссылается второй параметр. Это как:

$('secondParameterSelector').find('firstParameterSelector') ...

На вашем примере это похоже на

this.parent().prev().find('.results table')

(предполагается, что this.parent().prev(), конечно, объект jQuery)

0 голосов
/ 23 февраля 2010

Второй аргумент - это контекст. Например, если вы хотите отобразить текст первого span элемента при нажатии любой div:

$("div").click(function(){
  alert( $("span:first", this).text() );
});

this в этом примере относится к тому, что когда-либо div был нажат. Это наш контекст. Этот «контекст» может быть объектом dom-element, document или jQuery.

Дальнейшее чтение: http://api.jquery.com/jQuery/

...