2010-12-08 96 views
1

我试图获得一个页面上的所有链接的数组,它的href匹配特定字符串(url的一部分)。这种方法适用于所有的浏览器,但IE浏览器,我不知道为什么。IE和字符串匹配

var url = '/work.php?subsection=1'; 
a = $('clients').getElements('a[href^='+url+']'); 
alert(a.length); 

我使用Mootools的这可以解释的$('clients').getElements()位。

在所有浏览器中,但IE a.length返回10. IE返回0.任何人都知道为什么?

值得一提的是,我只需要第一部分的href匹配。所以<a href="/work.php?subsection=1&project=11"></a>应该匹配。

+0

这可能应该标记为`Mootools`。 – ClosureCowboy 2010-12-08 05:55:29

回答

2

不知道您正在使用哪个版本的Mootools,并且没有看到页面的标记,很难给出答案。

IE能否将URL视为完全合格?换句话说,IE浏览器不会以/work.php?subsection=1开头,相信网址是以http://yourdomain.com/开头的?

编辑:作为解决办法,您可以使用[att*=val]选择器,该选择器根据属性是否仅包含指定值进行匹配。如果您觉得您的网址可能包含/work.php?subsection=1以外的其他地方,而您真的不想匹配这些网址,那么您也可以将您的网域置于其中。

+0

你知道吗?我想就是这样,该死的。确认!为什么它会这样做?我也必须抢到域名吗? – 2010-12-08 06:19:59