Изменение свойств стиля внутри событий click в нескольких элементах с использованием операторов if - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть простой список задач (<ul>).Когда пользователь нажимает <li>, свойство textDecoration изменяется на «сквозной».Я хочу быть в состоянии "отменить" это как-то.Вот мой код ...

const lis = document.querySelectorAll('li');
lis.forEach(li => li.addEventListener('click', taskHandler));

function taskHandler(e) {
    const li = e.target;
    if ((li.style.textDecoration = 'none')) {
        li.style.textDecoration = 'line-through';
        console.log(`${li.textContent} is done`);
    } else {
        li.style.textDecoration = 'none';
        console.log(`${li.textContent} is undone`);
    }
}

Мой вопрос: почему не работает блок else?И как мне исправить этот код?

Спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

Вы используете один = оператор присваивания для сравнения:

if ((li.style.textDecoration = 'none'))

Замените его на == или ===:

if ((li.style.textDecoration == 'none'))

Также не уверенпочему двойные (()) круглые скобки?

if (li.style.textDecoration === 'none')

должны работать нормально.

...