#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');