Javascript .split() 多条件函数

Javascript .split () function with multiple conditions

嘿,我在使用 GTM 中的拆分功能时遇到了一些麻烦,我想阅读正文 class 和 return 一个单数词。 e.i。

<body class="landing-holidays subscribe-page"></body>

仅返回 'holidays',我的挑战是让拆分仅提取第二个值。代码:

function () {
    var product = document.getElementsByTagName('body')[0];
    if (product != undefined) {
        var product_id = product.getAttribute('class');
        if (product_id != null)
            return product_id.split('-')[1];
    }
    return null
}

我得到 "holidays subscribe"。当我需要 "holidays" 时,有任何见解吗?

您可以使用正则表达式。将 .split('-') 更改为 .split(/[\-\s]/)

var product = document.getElementsByTagName('div')[0];

function run() {
  if (product != undefined) {
    var product_id = product.getAttribute('class');
    if (product_id != null) {
      var a = product_id.split(/[\-\s]/);
      for (var i = 0, l = a.length; i < l; i++) {
        if (a[i] === 'holidays') {
          return a[i];
        }
      }
    }

  }
}
alert(run())
<div class="landing-holidays subscribe-page"></div>