Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Что возвращает $ ? Не могу понять. (https://javascript.ru/forum/jquery/33027-chto-vozvrashhaet-%24-ne-mogu-ponyat.html)

Esigns 08.11.2012 00:41

Что возвращает $ ? Не могу понять.
 
Читаю книгу и не могу понять следующий фрагмент кода из книги:
$("#someElement").html("Текст");
//или
$("#someElement")[0].innerHTML = "Текст"; // Почему работает эта фигня? и не работает $("#someId")[0].hide() ?

А не понятно мне следующее:
Если функция $ возвращает массив обьектов(если смотреть на 2 пример), почему не работает $("#someId")[0].hide(), но работает $("#someId").hide() ?

Когда, или при каких условиях функция $ возвращает массив?

Спасибо.

bes 08.11.2012 00:55

Вольно говоря, JQuery возвращает обёртку, содержащую набор отобранных элементов и к которой применимы методы jQuery, к отдельным элементам набора, так же можно обратиться, но это будет уже не обёртка.
PS: хорошая книга jQuery in Action

Esigns 08.11.2012 01:04

Понятно. А как тогда спрятать скажем первый элемент, который будет выбран по селектору?
<div class="someClass">someClass 1</div>
<div class="someClass">someClass 2</div>

$('.someClass')[0].hide(); // не пашет

PS: Подробное руководство по продвинутому JavaScript читаю.
Вроде как тоже не плохая. Тоже посоветовали.

Спасибо за помощь.

bes 08.11.2012 01:14

eq(0), нативным display = 'none'
PS: уже лень писать, к предыдущему посту: функция (обёртка) jQuery (и её псевдоним $) возвращает... :)

vadim5june 08.11.2012 01:15

$('.someClass').eq(0).hide();

Esigns 08.11.2012 01:18

Большое спасибо всем отписавшимся.
Теперь все понятнее.

bes 08.11.2012 01:22

Последнее усилие: себя, короче, она возвращает с набором отобранных элементов, всё, сплю :blink:

bes 08.11.2012 01:29

Цитата:

Сообщение от bes
jQuery in Action

Цитата:

Сообщение от Esigns
Подробное руководство по продвинутому JavaScript

это она и есть, по крайней мере, на титуле у неё так написано

Esigns 08.11.2012 02:13

Ясно. Спасибо


Часовой пояс GMT +3, время: 12:36.