window.location.href.match 不适用于主页

问题描述 投票:0回答:1

我正在一个电子商务平台(Shoptet)上创建一个电子商店,我试图仅在主页上隐藏一些元素,但我仍然希望在子页面上看到它们。这些元素具有相同的类。

我的脚本如下所示:

<script>
var home = "^https://644859.myshoptet.com$"
if (window.location.href.match(home)) {
    $('.detail-parameters').hide();
    $('.availability-value').hide();
    $('.add-to-cart').hide();
}
</script>

它不起作用,但是当我将否定置于条件中时

(!window.location.href.match(home))
它对于子页面来说效果很好。

有什么建议如何使其仅在主页上运行吗?该网址是eshop的真实网址。

谢谢!

javascript css match hide window.location
1个回答
0
投票

"^https://644859.myshoptet.com$"
只是一个字符串,如果您需要使用正则表达式
match
,请用斜杠将其括起来,并用反斜杠将特殊字符转义。

var home = /^https:\/\/644859\.myshoptet\.com$/
if (window.location.href.match(home)) {
    $('.detail-parameters').hide();
    $('.availability-value').hide();
    $('.add-to-cart').hide();
}

另外,我认为您不需要使用正则表达式,因为

/^https:\/\/644859\.myshoptet\.com$/
的含义与
"https://644859.myshoptet.com"

完全相同
var home = "https://644859.myshoptet.com"
if (window.location.href === home) {
    $('.detail-parameters').hide();
    $('.availability-value').hide();
    $('.add-to-cart').hide();
}
© www.soinside.com 2019 - 2024. All rights reserved.