我试图隐藏网站产品详情页面中的一些独特链接。 这些链接' href属性结尾在我的" hrefs"中设置。阵列。 我只想包括结尾(而不是整个url-s),因为它们之前的部分总是相同的。
我想在网站上隐藏的链接(在本例中)是:
https://www.example.com/products/details/4123
https://www.example.com/products/details/4124
https://www.example.com/products/details/4130
我的脚本是下一个,问题是它只隐藏第一个匹配(https://www.example.com/products/details/4123)。
var hrefs = [ "4123", "4124", "4130", ];
var fullhref = ("https://www.example.com/products/details/") + (hrefs);
$("[href]").filter(function(){
return fullhref.indexOf(this.href) >-1;
}).parent().hide();
因此它可以组合url的第一部分和数组中的最后一部分并删除该链接,但只删除第一部分。 我需要一些帮助,代码如何检查所有给定的url结尾(并隐藏所有内容)?
答案 0 :(得分:1)
你现在拥有的东西会产生一个字符串:
"https://www.example.com/products/details/4123,4124,4130"
创建一个结合了基本网址和数字数组的新数组。
var fullhref = hrefs.map(function(ref){
return "https://www.example.com/products/details/" + ref
})
$("[href]").filter(function(){
return fullhref.indexOf(this.href) >-1;
}).parent().hide();
答案 1 :(得分:1)
您可以使用循环修改数组,然后使用它来过滤选择。
var hrefs = [ "4123", "4124", "4130", ];
for(var i = 0; i< hrefs.length; i++){
hrefs[i] = "https://www.example.com/products/details/" + hrefs[i];
}