Mootools двойной долларовый эквивалент в JQuery - PullRequest
1 голос
/ 01 февраля 2012

У меня есть строка кода, которая использует mootools для получения массива элементов с указанными селекторами

var menuItems =  $$('#container .menu');

Мне нужно преобразовать это в jquery, но я не могу найти решение. Я пробовал jQuery ('# container .menu'), но он не возвращает массив.

Есть ли способ использовать .find () из jquery для всего документа? (так как у меня нет родительского элемента, чтобы сделать его как parent.find () ..)

Любое другое предложение также приветствуется

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

С помощью jQuery ваш оператор:

jQuery('#container .menu')

вернет объект jQuery, содержащий все соответствующие элементы, где вы можете получить доступ к отдельным элементам DOM с синтаксисом, похожим на массив:

var menuItems = jQuery('#container .menu');

menuItems.length        // gives a count of how many matched
menuItems[0]            // the first matching element

// but you can also use jQuery methods on the object
menuItems.hide();

Если вам нужен фактический массив, а не похожий на массив объект, вы можете использовать метод jQuery .toArray() :

var menutItemsArray = jQuery('#container .menu').toArray();

Почему бы вам не попробовать один из jQueryучебные пособия доступны на веб-сайте jQuery ?

0 голосов
/ 01 февраля 2012

Если вам абсолютно необходимо использовать его как массив, а не работать с объектом jQuery, возвращаемым селектором, взгляните на функцию .toArray().

...