クリックされたリンクされたパスと他のリンクを一致させようとしています。それはまったく動作しません。ここにコードがあります。 私はhrefの開始を正規表現にリンクする必要があります。regexの値がjqueryと一致しません
$('#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/
すべてが見つけるようだが、期待どおりに動作しません。もし私が正規表現でマッチングを取り除くと、すべてうまく動作します(もちろん、フィルタリングなしで)。
EDIT:
今では部分的に動作しますが、唯一のすべてのリンク、値と一致するものではないだけに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;
});
に役立ちます願っています。代わりに '.indexOf'を使用してください。 –