我不知道如何表达我的问题,所以这里有更多的解释......我需要解决的问题:只在A,B和C页上显示这个脚本。它们是wordpress页面,所以我不能将脚本粘贴到每个页面。我写了这个剧本:
if(window.location.href.indexOf("url-string-a") > -1){
jQuery( "form" ).addClass( "active" );
}
但我不知道如何将其应用于多个网址而无需复制并将其粘贴3次。 (在我的实际场景中,这个脚本需要在10页上运行,所以我不想复制和粘贴10次。我确信这样做更清洁。)< / p>
谢谢!
答案 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');
}