Как получить только выбранный элемент по имени класса? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть элементы с тем же именем класса, но я хочу получить только класс элемента, по которому щелкнули мышью, и изменить его.

    var icon = $('.opener i'); // I want to take this class of only clicked element
   

Функция

      $('.cate-inner span.opener').on("click", function(){
          var icon = $('.opener i');
        if ($(this).hasClass("plus")) {
          $(this).parent().find('.mega-sub-menu').slideDown();
          $(this).removeClass('plus');
            $(this).addClass('minus');
            icon.removeClass('fa-plus');
            icon.addClass('fa-minus')
        }
});

Ответы [ 4 ]

0 голосов
/ 03 августа 2020

Можете ли вы разместить свой Html там, где находится значок?

В основном, вы можете найти значок с помощью $(this).closest( ".opener i" )

$(this).closest('.parentElemnt').find('.opener i')

Но чтобы дать вам точный код, который мне нужен чтобы увидеть код HTML.

0 голосов
/ 03 августа 2020

Без html трудно сказать, но я угадаю, чем замена

var icon = $('.opener i');

на

var icon = $(this).find('i');

может помочь

0 голосов
/ 03 августа 2020
"li").click(function() {
   var colorClass = this.className;
   console.lo

Попробуйте сделать так же.

0 голосов
/ 03 августа 2020

Попробуйте использовать контекст в запросе

var icon = $('i', $(this));

Для лучшего понимания вы можете проверить это docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...