如果URL包含字符串"字符串A"或"字符串B"或"字符串C"做这个

时间:2017-06-01 19:02:56

标签: jquery

我不知道如何表达我的问题,所以这里有更多的解释......我需要解决的问题:只在A,B和C页上显示这个脚本。它们是wordpress页面,所以我不能将脚本粘贴到每个页面。我写了这个剧本:

if(window.location.href.indexOf("url-string-a") > -1){
    jQuery( "form" ).addClass( "active" );
}

但我不知道如何将其应用于多个网址而无需复制并将其粘贴3次。 (在我的实际场景中,这个脚本需要在10页上运行,所以我不想复制和粘贴10次。我确信这样做更清洁。)< / p>

谢谢!

1 个答案:

答案 0 :(得分:2)

当你考虑复制粘贴时,请考虑应该包装代码的函数,这些函数会一次又一次地重复。一种可能的方法:

function containsAny(haystack, needles) {
  return needles.some(function(str) {
    return haystack.indexOf(str) > -1;
  });
}

在这里你创建了一个带有两个参数的函数:haystack(一个字符串)和needles(一个字符串数组),前者将被检查后者中的任何一个。

然后在if检查中使用此功能:

if (containsAny(location.href, ['url-string-a', 'url-string-b', ...])) {
  $('form').addClass('pnt');
}