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

'user'は常に'useraccount'の内部にあるため、これを行う方法は機能しません。

いくつかの問題を回避することで特定のユースケースで機能させるか、正しい方法で機能させることができます。

正確に一致できる別のフィールドをリンクに追加することをお勧めします。または、さらにクリーンに<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 に答える