Можно ли использовать селектор :not с ‘this’?

#javascript #jquery #css #jquery-selectors

#javascript #jquery #css #jquery-селекторы

Вопрос:

У меня есть div called nav , в который помещены некоторые другие разделы. Когда я нажимаю на один, я хочу, чтобы он изменил цвет на оранжевый, что удобно при использовании this .

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

Можно not использовать с this ?

 $('.nav div').click(function() {
    $(this).css('color', 'orange');
    $('.nav div:not(this)').css('color', 'black');
});
  

Ответ №1:

Вы можете использовать .not() метод вместо селектора:

 $(".nav div").not(this).css("color", "black");
  

Или вы могли бы использовать .siblings() метод

 $(this).siblings().css("color", "black");
  

Ответ №2:

Вы можете добавить класс ко всем своим разделам, и когда вы нажмете на один, удалите его с помощью jQuery с

 .removeClass("<name>");
  

Обязательно повторно добавляйте его при нажатии на другой.

Комментарии:

1. 1 На самом деле это намного чище. И это отделяет css от js, что всегда хорошо (:

2. это тоже полезно.. Я не знал о .removeClass и .addClass. приветствия, приятель.

Ответ №3:

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

 $('.nav').css('color', 'black');
$(this).css('color', 'orange');