2010-12-08 8 views
1

hrefが特定の文字列(URLの一部)と一致するページにすべてのリンクの配列を取得しようとしています。この方法は、IEを除くすべてのブラウザで機能します。理由はわかりません。IEと文字列の照合

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

私は$('clients').getElements()ビットを説明するMootoolsを使用しています。

IE以外のすべてのブラウザでは、a.lengthは10を返します。IEは0を返します。

これは、hrefの最初の部分のみが一致する必要があることに言及する価値があります。だから<a href="/work.php?subsection=1&project=11"></a>が一致する必要があります。

+0

これはおそらく 'Mootools'でタグ付けされるべきです。 – ClosureCowboy

答えて

2

あなたが使用しているMootoolsのバージョンを知らずに、ページのマークアップを見ることなく、答えを出すのは難しいです。

URLを完全修飾されていると見なすことができますか?言い換えれば、/work.php?subsection=1で始まる代わりに、URLはhttp://yourdomain.com/で始まると信じることができますか?

編集:回避策として、[att*=val]セレクタを使用できます。このセレクタは、属性に指定された値が含まれているかどうかに基づいて一致します。 URLに/work.php?subsection=1が最初以外の部分が含まれていて、の場合、実際にと一致させたくないと思われる場合は、そこにドメインをスローすることもできます。

+0

あなたは何を知っていますか?私はそれだと思う、おばあちゃん。ああ!なぜそれはそれをやっているのですか?私もドメインを取得する必要がありますか? –

+0

私の編集をご覧ください!私がする前にあなたがこの問題に遭遇してうれしいです...私はこの日をある時点で台無しにすることが想像することができます。 – ClosureCowboy

+0

あなたは本当に私のお尻を今夜保存しました。 '[att * = val]'は完全に働いた。ありがとうございました!!!これに数時間苦しんでいた。 –

関連する問題