首页 > 解决方案 > 如何在 JavaScript 中按模式查找动态节点类

问题描述

我希望你们都有一个美好的一天。我正在开发这个 WP 插件(这与 WP 无关),并且我一直在尝试获取在每个页面的 body 类中声明的自定义帖子的 ID。所以它是这样的;

<body class="(Bunch of other classes) ld-courses-1731-parent">

我试图在我的 JS 函数中获取数字 1731,但问题是每个页面上的数字都会发生变化,因此它是动态的,但模式是相同的。所以基本上我正在尝试使用该模式获取 INT 值。

图案:ld-courses-*INT VALUE*-parent

我可以用 JS 实现这一点吗?非常感谢您的任何帮助。

标签: javascript

解决方案


如果那是您体内唯一的类,则可以使用 match:

var classList = document.getElementsByTagName("body")[0].classList;
[...classList].forEach(function(thisClass) {
  if (/ld-courses-\b/.test(thisClass)) {
    var id = thisClass.match(/\d/g);
    console.log(id.join(""));
  }
});
<body class="another-class-before another-class-12-hasnum ld-courses-1731-parent another-class-12-hasnumaswell another-class-after">
</body>


推荐阅读