DOM not affected by addClass(), console log looks fine











up vote
0
down vote

favorite












I have a bunch of elements, all with the same class, and I'm trying to sort out what happens each time one of them is tabbed to. The tabbing event itself is fine, it's just this bit of code here that's giving me an issue.



Strangely, the result of the code below is that the console will log everything as expected (firstly the object that is in focus, then that same object with the new added class), however the DOM appears unaffected in devtools (ie no new class has been added). Thoughts?



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


EDIT - here is the handler in its entirety:



  $(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;
});









share|improve this question




























    up vote
    0
    down vote

    favorite












    I have a bunch of elements, all with the same class, and I'm trying to sort out what happens each time one of them is tabbed to. The tabbing event itself is fine, it's just this bit of code here that's giving me an issue.



    Strangely, the result of the code below is that the console will log everything as expected (firstly the object that is in focus, then that same object with the new added class), however the DOM appears unaffected in devtools (ie no new class has been added). Thoughts?



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


    EDIT - here is the handler in its entirety:



      $(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;
    });









    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have a bunch of elements, all with the same class, and I'm trying to sort out what happens each time one of them is tabbed to. The tabbing event itself is fine, it's just this bit of code here that's giving me an issue.



      Strangely, the result of the code below is that the console will log everything as expected (firstly the object that is in focus, then that same object with the new added class), however the DOM appears unaffected in devtools (ie no new class has been added). Thoughts?



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


      EDIT - here is the handler in its entirety:



        $(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;
      });









      share|improve this question















      I have a bunch of elements, all with the same class, and I'm trying to sort out what happens each time one of them is tabbed to. The tabbing event itself is fine, it's just this bit of code here that's giving me an issue.



      Strangely, the result of the code below is that the console will log everything as expected (firstly the object that is in focus, then that same object with the new added class), however the DOM appears unaffected in devtools (ie no new class has been added). Thoughts?



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


      EDIT - here is the handler in its entirety:



        $(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;
      });






      jquery methods focus this each






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 8 at 10:33

























      asked Nov 8 at 9:34









      devosaurolophus

      62




      62





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204923%2fdom-not-affected-by-addclass-console-log-looks-fine%23new-answer', 'question_page');
          }
          );

          Post as a guest





































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204923%2fdom-not-affected-by-addclass-console-log-looks-fine%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Guess what letter conforming each word

          Port of Spain

          Run scheduled task as local user group (not BUILTIN)