DOM не зависит от addClass (), журнал консоли выглядит нормально - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть куча элементов, все с одним и тем же классом, и я пытаюсь разобраться, что происходит каждый раз, когда на один из них вкладывается вкладка. Само событие табуляции в порядке, только этот фрагмент кода вызывает у меня проблему.

Как ни странно, результат приведенного ниже кода состоит в том, что консоль будет регистрировать все как положено (сначала объект, который находится в фокусе, затем тот же объект с новым добавленным классом), однако DOM кажется незатронутым в devtools (т.е. нет новый класс был добавлен). Мысли

$('.item__link').each(function() {
  if ($(this).is(':focus')) {
    console.log($(this));
    $(this).addClass("test");
    console.log($(this));
  }
})

РЕДАКТИРОВАТЬ - вот обработчик в полном объеме:

  $(window).on("keyup", function (e) {
    // check that tab key has been pressed
    var code = (e.keyCode ? e.keyCode : e.which);

    if (code == 9) {

      if ($('#main-menu__trigger').is(':focus') && !#main-menu__trigger.hasClass('open')) {
         // do stuff
      } else {
        $('.item__link').each(function() {
          if ($(this).is(':focus')) {
            console.log($(this));
            $(this).addClass("test");
            console.log($(this));
          }
        });
      };

    };
   code = 0;
  });
...