У меня вопрос, почему эти два фрагмента кода разные.
$('#ctl00_DDMenu1_HyperLink1')
//jQuery(a#ctl00_DDMenu1_HyperLink1 Default.aspx) Console output
$('#ctl00_DDMenu1_HyperLink1').text()
Приведенный выше код возвращает: Текст ссылки
Но
$.find('#ctl00_DDMenu1_HyperLink1')
//[a#ctl00_DDMenu1_HyperLink1 Default.aspx] Consolee output
$.find('#ctl00_DDMenu1_HyperLink1').text()
Возвращает
TypeError:
$. Find ("# ctl00_DDMenu1_HyperLink1"). Text
не является функцией
Означает ли это, что $. Find
возвращает объект массива []
и функции jQuery недоступны?
Я использовал jQuery 1.4.2 и использовал Firebug Console.
Этот код вернет jQuery ссылка на объект и все функции jQuery доступны.
$ ('any_selector')
//jQuery(item1),jQuery(item2),...,jQuery(item-N) Вывод в консоль
$ ('any_selector'). text ()
Этот код возвращает объект массива JavaScript , поэтому никакая функция jQuery не может быть применена к набору результатов. Даже если набор результатов кажется идентичным.
$. Find ('any_selector')
//[item1,item2,...,item-N] Вывод консоли
$ .find ('any_selector'). text ()
Но мы можем сделать трюк (странный трюк), чтобы обернуть js Array в селектор jQuery:
$ ($. find ('any_selector_as_inner_select')). val ()
// Спасибо за помощь!