将类添加到活动选项卡中

时间:2019-10-23 作者:wasterel

请帮助更正脚本以将woocommerce-tabs\\uu按钮--活动类添加到活动选项卡woocommerce-tabs\\uu按钮。

https://codepen.io/vovagabel/pen/XWWMypG

1 个回复
最合适的回答,由SO网友:Chetan Vaghela 整理而成

我更新了codepan js代码。请使用下面的js代码激活选项卡。我已经测试过了,效果很好。如果这对你有用,请告诉我!

class TabList {
  constructor(buttonsContainer, tabs) {
    this.buttonsContainer = buttonsContainer;
    this.tabs = tabs;

    this.buttonsContainer.addEventListener("click", event => {
       document.querySelector( \'.woocommerce-tabs__button--active\' ).classList.remove( \'woocommerce-tabs__button--active\' );
      event.target.closest(".woocommerce-tabs__button").classList.add("woocommerce-tabs__button--active");

      const index = event.target.closest(".woocommerce-tabs__button").dataset
        .value;

      this.openTab(index);
    });
  }

  openTab(index) {
    this.tabs.querySelector(".active").classList.remove("active");
    this.tabs
      .querySelector(`.woocommerce-tabs__content--${index}`)
      .classList.add("active");
  }
}

document.addEventListener("DOMContentLoaded", () => {
  const buttonsContainer = document.querySelector(".woocommerce-tabs__buttons");
  const tabs = document.querySelector(".woocommerce-tabs__contents");

  const tabList = new TabList(buttonsContainer, tabs);
});

相关推荐

JavaScript将焦点更改为正在重置的密码字段登录页面

我有一个特殊的情况,我希望用户在标准WordPress登录页面上输入密码。我用一行javascript填写用户名:document.getElementById(\'user_login\').value = \'username\'; 默认情况下,焦点从用户名字段开始。我想让焦点从密码字段开始。。。document.getElementById(\'user_pass\').focus(); 但这不起作用。看起来它可能会先关注密码字段,然后再返回用户名字段。知道为什么会发生这种情况以