Результат выполнения функции jQuery $ — $(document.body) будет?

16.57%
(29)
Массив с элементом body, расширенный методами/свойствами jQuery
50.86%
(89)
Элемент body, расширеный методами/свойствами jQuery
21.14%
(37)
Объект с методами jQuery, имитирующий некоторые методы/свойства массива
11.43%
(20)
Объект унаследованный от массива, расширенный методами/свойствами jQuery

Проголосовало 175 человек. Воздержалось 188 человек.

–8
24 января 2010, 22:49
1
magmoro 7,6

комментарии (13)

–3
lam0x86 #
Под замок надо такие статьи публиковать, если не хотите быть заминусованным.
–1
TheMengzor #
Ты это DileSoft'у говоришь? Ага :-)
–1
TheMengzor #
Упс, не в тот топик откомментил. Простите, бояре, холопа, простите!
+4
homm #
Смотрю на результаты и не верю своим глазам.
0
magmoro #
да, большинство отвечает неправильно
+1
0dd_b1t #
оставьте ответ в комментариях, дабы народ мог себя проверить после голосования.
+2
magmoro #
правильный ответ — 3, jquery возвращает объект со всеми методами jquery(css, attr, val и т.д.) у которого есть некоторые свойства и методы массива — push, splice, length. Firebug показывает это как массив из-за наличия этих методов, но на самом деле это не массив. Например у него нет метода shift
0
serega011 #
А тем не менее книга по jQuery(Бер Бибо, Иегуда Кац) гласит, что должен вернуться массив:)
0
remal #
А в исходники не посмотреть? Там кода-то не так и много.
–2
jonijones #
Правильный ответ — некорректно задан вопрос. В некоторых случаях document.body не работает.
+1
magmoro #
естественно подразумевается общий случай, когда document.body ссылается на элемент body dom-дерева документа.
+3
mr_idiot #
Ну собственно jQuery для того и сделан — чтобы не вдаваясь в тонкости, программировать поведение элементов в очень удобном и красивом стиле.
0
Yeah #
Проголосовал за третий вариант, но в исходники не смотрел, просто так должно быть по идее.

1-й вариант не проходит, поскольку тогда все остальные экземпляры массивов вдруг станут иметь методы jQuery. 2-й не проходит однозначно, так как jQuery позволяет множественный выбор элементов, значит в один все пихать нельзя.
4-й самый хитрый вариант, но и он не подходит, так как функция extend, которая и служит для имитации наследования определена как метод объекта jQuery, потому маловероятно, чтобы авторы применяли ее для расширения самого объекта jQuery.

В общем про 4-й метод как-то топорно объяснил, но по идее оно так…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.