Javascript значок переключения с помощью else-if - PullRequest
0 голосов
/ 18 июня 2020

Я хочу сделать закладку, и она должна быть закодирована с помощью Javascript и else-if. Не могли бы вы помочь с этой проблемой?

    var iBookmark = document.createElement('I');
    iBookmark.setAttribute('id', 'bookmark' + ecgData.id);
    iBookmark.setAttribute('class', 'bookmark outline icon');
    iBookmark.setAttribute('value', 'bk-false');
    iBookmark.style.color = 'white';
      if (checkedID.className = 'bookmark outline icon') {
        checkedID.setAttribute('class', 'bookmark icon');
        console.log(true);
      } else {
        checkedID.setAttribute('class', 'bookmark outline icon');
        console.log(false);
      }
      if (checkedID.getAttribute('value', 'bk-false')) {
        checkedID.setAttribute('class', 'bookmark icon');
        checkedID.setAttribute('value', 'bk-true');
        console.log('true')
      } 

      else if (checkedID.getAttribute('value', 'bk-true')) {
        checkedID.setAttribute('class', 'bookmark outline icon');
        checkedID.setAttribute('value', 'bk-false');
        console.log('false')
      }

Когда я щелкаю по нему, он меняется на true и остается там, и не возвращается к false, когда я продолжаю щелкать по нему. По умолчанию он остается с ложным.

1 Ответ

1 голос
/ 18 июня 2020

В строке if (checkedID.className = 'bookmark outline icon') { отсутствует второй =, и выражение не оценивается, а присваивается значение имени класса. Исправьте, изменив его на if (checkedID.className == 'bookmark outline icon') {

...