0

我有这个正则表达式,它工作正常

var r = new RegExp(page, 'i'); 
$("ul.nav-tabs a").filter(function(){ return $(this).text().match(r) }).parent().addClass("active");

但如果我有它就行不通

page = useraccount

和文字是User Account

有没有办法让通用正则表达式匹配普通单词和连接单词

4

1 回答 1

0

你这样做的方式是行不通的,因为“用户”总是在“用户帐户”之内。

您可以通过解决一些问题使其适用于您的特定用例,也可以以正确的方式进行。

我建议在您可以完全匹配的链接中添加另一个字段。或者,甚至更清洁,到<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");
于 2013-03-06T10:23:39.680 回答