[英]regex value is not matching jquery
我正在尝试将点击的链接路径与其他链接进行匹配。 它根本不起作用。 这是代码。 我需要链接的href以正则表达式开头。
$('#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;
});
因为您要问正则表达式是否与您的字符串匹配 。 意思是,您的正则表达式至少应如下所示(根据您的示例):
$regex = /^\/?q=category\/activity\/test\/\w+/
您可能要改用:contains()
选择器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.