我目前正在使用此代码(以及Mootools)在#subnav
div中构建包含特定网址字符串的所有锚点的数组:
$('subnav').getElements('a[href*=/'+href+']')
问题是,我是否正在寻找匹配网址为work.aspx?subsection=24&project=1
的主播的work.aspx?subsection=24&project=15
。
如何防止这种情况发生?
答案 0 :(得分:0)
我能想到的唯一解决方案是使用正则表达式;像这样的东西:
$('subnav').getElements('a').filter(function (element, index) {
return /work\.aspx\?subsection=24&project=1(?:$|&)/.test(element.href);
});
该正则表达式将匹配project = 1,然后匹配&
或字符串的结尾。它使用MooTool(或本机浏览器)Array.filter
删除所有不匹配。它不是最优雅的解决方案,特别是如果你动态使用它,那么你必须编写一些代码来创建一个新的正则表达式。
答案 1 :(得分:0)
回答我自己的问题。就像将*
更改为$
一样简单。
$('subnav').getElements('a[href$=/'+href+']')
答案 2 :(得分:0)
听起来应该通过301或302重定向更优雅地处理......