Селектор исчезновения проблемы

0

Я пытаюсь угаснуть щелкнув элемент ul. Вот что, у меня есть несколько элементов ul которые содержат одно и то же имя класса при выборе. Чтобы справиться с этим, я отказываюсь от id для каждой конкретной ul чтобы узнать, какой элемент будет исчезать. Моя проблема заключается в том, что, пытаясь ослабить элемент ul. Ничего не происходит вообще, хотя в нем содержится правильный id.

Вот что я делаю:

$(".start-dropdownClose").click(function(event){
       event.stopPropagation();
       $thisOne = $($(this).parent().parent().attr('id'));
       $($thisOne.selector).fadeOut();
});

Когда я предупреждаю об этом $thisOne.selector он отображает правильный id выбранного элемента ul. Я просто не знаю, почему это вообще не исчезнет?

Предложения, мысли?

  • 0
    Можете ли вы поделиться полным кодом (ul) на скрипке или jsbin?
  • 2
    Это должно быть $('#'+$(this).parent().parent().attr('id'));
Показать ещё 2 комментария
Теги:

2 ответа

4
Лучший ответ

Не используйте его селектор, просто используйте элемент element:

$(".start-dropdownClose").click(function(event){
   event.stopPropagation();
   $(this).parent().parent().fadeOut();
});
2

Попробуйте эти два подхода:

$(".start-dropdownClose").click(function(event){
       event.stopPropagation();
       $thisOne = $(this).parent().parent();
       $thisOne.fadeOut();
});

или

$(".start-dropdownClose").click(function(event){
       event.stopPropagation();
       $thisOne = $($(this).parent().parent().attr('id'));
       $("#"+$thisOne).fadeOut();
});

Первый из $ thisOne - это ul, который вы пытаетесь выбрать и затухать. Так что просто угасание этого должно сработать.

Во втором подходе $ thisOne является строкой id, поэтому для правильного выбора с помощью jQuery правильный синтаксис равен $ ("# idString")

  • 0
    Первый вариант имеет больше смысла
  • 0
    Да, это действительно так!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню