私は現在、このコードを(Mootoolsと共に)使用して#subnav
、特定のURL文字列を含むdiv内のすべてのアンカーの配列を構築しています。
$('subnav').getElements('a[href*=/'+href+']')
work.aspx?subsection=24&project=1
問題は、URLが。のアンカーと一致するものを探している場合ですwork.aspx?subsection=24&project=15
。
どうすればそれを防ぐことができますか?
私は現在、このコードを(Mootoolsと共に)使用して#subnav
、特定のURL文字列を含むdiv内のすべてのアンカーの配列を構築しています。
$('subnav').getElements('a[href*=/'+href+']')
work.aspx?subsection=24&project=1
問題は、URLが。のアンカーと一致するものを探している場合ですwork.aspx?subsection=24&project=15
。
どうすればそれを防ぐことができますか?
私が考えることができる唯一の解決策は、正規表現を使用することです。このようなもの:
$('subnav').getElements('a').filter(function (element, index) {
return /work\.aspx\?subsection=24&project=1(?:$|&)/.test(element.href);
});
その正規表現はproject=1に一致し、次にa&
または文字列の終わりに一致します。MooTool(またはネイティブブラウザ)Array.filter
を使用して、一致しないものをすべて削除します。これは最も洗練されたソリューションではありません。特にこれを動的に使用している場合は、新しい正規表現を作成するためのコードを作成する必要があります。
このような音は、301 または 302 リダイレクトによってより適切に処理する必要があります...
私自身の質問に答えるつもりです。を に変更するのと同じくらい簡単でし*
た$
。
$('subnav').getElements('a[href$=/'+href+']')