Изменение только переключенного цвета Div при клике Jquery - PullRequest
0 голосов
/ 10 марта 2019

Я настраиваю стиль вариаций в Wordpress, используя пользовательские CSS и Jquery.

У меня есть событие clicked в DIV, переключатель которого открыт, и я хочу изменить цвет заголовка, но только там, где переключатель включен.

Вот мой код

$(".btnClass").click(function(){

if ( $('.tm-collapse-wrap').is(':visible') ) {
    //do something
  $('.btnClass').css('color','black'); 
  $('.cs-price').css('color','black');  
  $('.cs-price').css('border-color','black');  
        $('.mkSize').css('color','#8e8e8e');  
        $('.tm-description').css('color','black');  


}
  else if ( $('.tm-collapse-wrap').is(':hidden') ){
      $('.btnClass').css('color','#005267');  
      $('.cs-price').css('color','#005267');  
      $('.cs-price').css('border-color','#005267');  
      $('.mkSize').css('color','#4683939e');  
      $('.tm-description').css('color','#005267');  


  }
}

Проблема в том, что он изменит все цвета раздела. Я хочу изменить его только там, где включен только тумблер.

ПРОВЕРИТЬ URL веб-сайта

1 Ответ

0 голосов
/ 10 марта 2019

Я думаю, вы не понимаете, что делает метод .is () .Возвращает true, если хотя бы один из выбранных элементов обладает свойством.С помощью $('.tm-collapse-wrap').is() вы выбираете ВСЕ div, независимо от того, являются ли они видимыми или нет.

Вы изменяете свойство класса класса, который есть у ВСЕХ div (например, .btnClass), как свернутых, так и расширенных.Если вы нажмете ОДИН div, вы измените цвет на ВСЕ div.

Вам нужно изменить только свойства выбранных div.Внутри функции click () вы можете получить доступ к текущему нажатому элементу с помощью $(this), а потомки этого элемента - с помощью $(this).children("selector").

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