我有这个正则表达式,它工作正常
var r = new RegExp(page, 'i');
$("ul.nav-tabs a").filter(function(){ return $(this).text().match(r) }).parent().addClass("active");
但如果我有它就行不通
page = useraccount
和文字是User Account
有没有办法让通用正则表达式匹配普通单词和连接单词
我有这个正则表达式,它工作正常
var r = new RegExp(page, 'i');
$("ul.nav-tabs a").filter(function(){ return $(this).text().match(r) }).parent().addClass("active");
但如果我有它就行不通
page = useraccount
和文字是User Account
有没有办法让通用正则表达式匹配普通单词和连接单词
你这样做的方式是行不通的,因为“用户”总是在“用户帐户”之内。
您可以通过解决一些问题使其适用于您的特定用例,也可以以正确的方式进行。
我建议在您可以完全匹配的链接中添加另一个字段。或者,甚至更清洁,到<li>
. 像这样:
<ul class="nav-tabs">
<li data-page="user"><a href="..." >User</a></li>
<li data-page="useraccount"><a href="..." >User Accounts</a></li>
...
</ul>
然后你可以在你的javascript中做到这一点:
var elements = $("ul.nav-tabs > li").filter(function() {
return $(this).data('page') == page;
});
elements.addClass("active");