Использование объектов jQuery в селекторах jQuery - PullRequest
2 голосов
/ 18 декабря 2009

Я довольно новичок в jQuery и думаю, что могу сделать что-то сложнее, чем нужно. У меня есть переменная jQuery, которая является просто неупорядоченным списком. Было объявлено так:

var $list = $('#activityList'); // activityList is ID of <ul>

Я пытаюсь выбрать все <li> элементы в этом списке, используя созданную мной переменную:

$items = $('#' + $list.attr('id') + ' > li');

Кто-нибудь знает, есть ли другой синтаксис для достижения той же цели без необходимости разбивать переменную до ее атрибута id?

Спасибо.

Пояснение: Я использовал упрощенный код для постановки вопроса, но я хочу использовать переменную jQuery "$ list" в селекторе, а не жестко кодировать идентификатор.

Ответы [ 4 ]

5 голосов
/ 18 декабря 2009
$items = $('li', $list); 

Это должно делать то, что вы ищете.

3 голосов
/ 18 декабря 2009

$ ("# activitylist> li") будет работать, так как> пересекает содержимое. Вы также можете использовать с $ list в качестве объекта JQuery:

$ list.find ("li") или $ list.children ("li"), чтобы также найти элементы списка. дети будут более эффективны, если вы ищете только непосредственных детей.

1 голос
/ 18 декабря 2009

Попробуйте это:

var items = $('#activityList > li');
0 голосов
/ 18 декабря 2009

Может быть, я неправильно понимаю, но что не так с ...

var $items = $('#activityList > li'); 
...