2010-12-08 183 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