Изучаю делегирование событий
https://jsfiddle.net/nytw2efk/4/
document.querySelector('.income').addEventListener('click', function (e) {
if (e.target.className = "fick") {
e.target.classList.toggle('redtext');
alert(e.target.className);
}
})
по идее должен при клике меняться цвет, но только у элемента с классом fick В итоге: 1. при клике меняется цвет у элементов и без класса fick и вообще alert показывает что будто класс fick у каждого элемента 2. при повторном клике toggle не срабатывает
Что не так?
Не
if (e.target.className = "fick") {
а
if (e.target.className == "fick") {
а еще лучше
if (e.target.classList.contains("fick")) {
Что было у Вас:
оператор присваивания в условии if
назначал кликнутому элементу (любому) атрибут class="fick"
и возвращал это значение, что в булевском смысле трансформировалось в true
. То есть код внутри блока if
всегда выполнялся.
На первый клик по какому-либо элементу его класс сначала становился "fick"
- внутри условия if
, а потом "fick redtext"
- при выполнении toggle
, и элемент становился красным. При втором клике (и всех последующих кликах) происходило то же самое, и элемент оставался красным.
Почему не работает с ==
:
Точное равенство "icome__title fick"
и "fick"
, конечно, дает false
, и код в блоке if
не выполняется.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь отправить данные то что человек заполнил форму и отправил ее! Что я делал? 1) Вставлял в форму
Необходимо сделать модальное окно из элемента слайдера с его контентомСлайдер для тач устройств
Есть проблема: пытаюсь парсить название некоторых турниров с другого сайтаНазвание с русскими символами и прилетает нормально, вывожу через...
Выводя запись на сайт, требуется выводить соседние записи этой же категорииПохожего на виджета "Похожие новости"