我添加classes
到特定的网页基于鼻涕虫。
为了使它更易于管理,我将这些页面排序到一个名为darkThemePages
的array
中。
然而,我的目标页面组之一是blog级别2的页面,主blog位于/insights
上,然而,我尝试的目标是这个blog下的所有页面(即/insights/*
)。
然而,我看不出一种方法,以目标的所有网页下的某些插件,如果它是可能的,以保持在一个数组?
我的方法:
var currentPageURL = window.location.pathname.replace(/\/+$/, '');
var root = document.getElementsByTagName('html')[0];
var className = "theme--dark";
var darkThemePages = ['/insights/*', '/terms-and-conditions'];
if (darkThemePages.indexOf(currentPageURL) > -1) {
root.classList.add(className);
} else{
root.classList.remove(className);
}
1条答案
按热度按时间gab6jxml1#
如果正则表达式与当前URL的pathname匹配,则可以使用test,然后相应地在root element中添加/删除该类:
下面是一些测试,展示了哪些类型的url路径名与正则表达式匹配/不匹配:
这里有一个页面,它逐个字符地解释了正则表达式(你可以在那里学习更多,也可以修改/实验):https://regexr.com/75plc