Я пытаюсь угаснуть щелкнув элемент 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
. Я просто не знаю, почему это вообще не исчезнет?
Предложения, мысли?
Не используйте его селектор, просто используйте элемент element:
$(".start-dropdownClose").click(function(event){
event.stopPropagation();
$(this).parent().parent().fadeOut();
});
Попробуйте эти два подхода:
$(".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")
$('#'+$(this).parent().parent().attr('id'));