Переменная и селектор jQuery - PullRequest
7 голосов
/ 20 июля 2009

Я пытался выяснить это в течение приблизительно 2 дней и не могу понять, почему это не работает.

Скажем, например, я объявляю переменную "ul" и хочу сказать, что var + li отображает красный цвет.

$("document").ready(function()  { 

var menu = $("ul");

$(menu +" li").css("color","red");

});

Все элементы списка теперь должны быть красного цвета. Что я делаю неправильно?

Пример: http://jsbin.com/izela

Ответы [ 4 ]

9 голосов
/ 20 июля 2009

Чтобы изменить все прямые дочерние элементы на красный, вы можете использовать

menu.children('li').css("color","red");

Если вам требуются все li в пределах ul (вложенные ul> li> ul> li), используйте .find

menu.find('li').css("color","red");

3 голосов
/ 20 июля 2009

Вы должны запустить что-то вроде этого:

menu.children('li').css('color', 'red');

Проблема в том, что menu - это объект и добавление строки к объекту, возвращающему NaN (в FF), который нельзя использовать в качестве селектора.

2 голосов
/ 20 июля 2009

Что вы делаете неправильно, так это добавление объекта jQuery со строкой. Попробуйте:

var menu = $('ul');
menu.find('li').css('color', 'red');
0 голосов
/ 20 июля 2009

попробуй

menu.children('li').css('color', 'red');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...