我正在尝试将点击的链接路径与其他链接相匹配。它根本不起作用。这是代码。 我需要将href start与正则表达式链接起来。
$('#taxonomylist ul li a').click(function() {
$href = $(this).attr("href");
$regex = new RegExp("^"+$href);
$('#taxonomylist ul li').each(function() {
$href_sub = $("a", this).attr("href");
if ($href_sub.match($regex))
{
$(this).css("display", "block");
}
});
return false;
});
这是我在萤火虫中得到的:
$href = "/?q=category/activity/test"
$href_sub = "/?q=category/activity/test/lamp"
$regex = /^\/?q=category\/activity\/test/
似乎一切都找不到,但它没有按预期工作。如果我通过正则表达式删除匹配,一切正常(当然没有过滤)。
编辑:
现在它部分有效,只为所有链接分配css属性,而不仅仅是那些匹配值的链接。有没有人看到这个问题?
$('#taxonomylist ul li a').click(function() {
$href = $(this).attr("href");
$regex = new RegExp("^"+$href);
$('#taxonomylist ul li').each(function() {
$href_sub = $("a", this).attr("href");
if ('$href_sub:contains($href)')
{
$(this).css("display", "block");
}
});
return false;
});
答案 0 :(得分:2)
因为您正在询问正则表达式是否匹配您的字符串。意思是,你的正则表达式至少应该是这样的(基于你的例子):
$regex = /^\/?q=category\/activity\/test\/\w+/
您可能希望使用:contains()
选择器。
答案 1 :(得分:1)