2012-01-20 5 views
0

Мне трудно найти способ правильно выбрать класс внутри меню.выбор класса jQuery

Он работал нормально, пока я не разместил меню в ul. Может ли кто-нибудь сказать мне, что происходит и как это исправить?

http://jsfiddle.net/nategines/7XrUk/

+0

, какой класс вы имеете в виду в этом примере? – ryankeairns

ответ

0

Несомненно. Проблема в том, что вы звоните index по ссылке, которая является дочерним элементом li, и поэтому всегда будет только первым ребенком. Вместо этого вы хотите индекс своего родителя.

Fixed здесь: http://jsfiddle.net/7XrUk/1/

+0

Это отлично работает! Как я могу выбрать div для коллапса вместо ul? Ive пытался, но может показаться, понять, как это работает.http: //jsfiddle.net/7XrUk/1/ –

+0

http://jsfiddle.net/nategines/7XrUk/3/ извините, это настоящая ссылка –

+0

Работает нормально: http://jsfiddle.net/7XrUk/5/ Просто замените 'ul' для' div' в селекторе. Мое предположение, похоже, это не сработало для вас, потому что вы забыли изменить первую строку, которая скрывает всех детей 'ul', чтобы скрыть все дети' div'? –

1

Вот рабочая версия: http://jsfiddle.net/3hbk7/

var $menuelement = $('.demo ul').eq($(this).index());//find the matching nth element in the menu 

... должен был быть:

var $menuelement = $('.demo ul').eq($(this).parent().index());//find the matching nth element in the menu 
+0

Удивительный! Я знал, что это что-то малое. Благодаря! –

0

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

$('.menu').find('.class')