в чем разница между $ ('. classname') и $ .find ('. classname') - PullRequest
3 голосов
/ 28 марта 2012

Иногда $('.classname') и $.find('.classname') дают разные результаты.Хотите знать, в чем разница между обоими.

Ответы [ 3 ]

6 голосов
/ 28 марта 2012
$('.classname')

будет искать в DOM элементы с классом classname и

$.find('.classname')

выдаст ошибку ничего не делать, почему

.find (селектор)

selector Строка, содержащая выражение селектора для соответствия элементам против. добавлена ​​версия: 1.6.

.find (объект jQuery) jQuery objectA jQuery объект для сопоставления элементов. добавлена ​​версия: 1,6

.find (элемент) элемент elementAn для сопоставления элементов с.

2 голосов
/ 28 марта 2012

Я не могу вам сказать,

но вы можете увидеть исходный код для $. Find и для $. Fn.find

$.find:

Это метод, используемый самой jQuery и не рекомендованный для использования в качестве селектора запросов.

$.fn.find

Относится к $.find в базовой структуре: (где this - это объект jQuery)

var ret = this.pushStack("", "find", selector),
    length, n, r;

for (i = 0, l = this.length; i < l; i++) {
    length = ret.length;
    jQuery.find(selector, this[i], ret);

    ...
1 голос
/ 28 марта 2012

$('.classname') вернет список всех элементов с этим именем класса в документе, чтобы их можно было повторить с помощью .each().

$.find('.classname') ищет дерево dom и возвращает вхождения класса,Но вам необходимо указать родительский элемент, например:

$(document).find('.classname')

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