使用jQuery查找任何URL或子URL

时间:2013-06-17 15:04:41

标签: jquery

重新开始:

我有一个<select>,有四个选项,适用于四种不同的类别。当用户访问其中一个类别时,会在<option>中选择相应的<select>。例如,如果我正在查看名为“类别名称”的类别,则会在<option>菜单中选择“类别名称”<select>

这四个不同的类别每个类别中都可以有多个页面。这些类别的第一页的网址为/category-name/,这些类别的第二页为/category-name/page/2/,依此类推。我的<select>只有主要类别的选项,而不是每个类别中的每个页面。

我需要找到一种方法来检测用户是否在名称/category-name/页面或任何子页面上,例如/category-name/page/2/

这是我目前正在使用的脚本:

var pathname = window.location.pathname;
$("#restaurantSelect option[value=\"" + pathname + "\"]").attr("selected","true");

如何修改它以我需要的方式工作?

1 个答案:

答案 0 :(得分:1)

您可以将函数传递给jQuery's filter函数。这应该可以轻松执行您想要的任何自定义检查。

var $optionsWithPage = $("#restaurantSelect option").filter(function(){
    return /\/page\/\d+/ig.test($(this).attr("option"));
});

编辑 - 基于您的重写(暂时 - 请避免在人们提供答案后重写您的问题),我建议您根据需要调整上述正则表达式。我认为它应该是这样的:

/category-name(\/page\/\d+\/)?/