1

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

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

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

IEを除くすべてのブラウザでa.length10が返されます。IEは0を返します。

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

4

1 に答える 1

2

使用しているMootoolsのバージョンがわからず、ページのマークアップが表示されない限り、答えを出すのは困難です。

IEは、URLを完全修飾されているかのように処理できますか?言い換えると/work.php?subsection=1、IEは、で始まるのではなく、URLがで始まると信じることができますhttp://yourdomain.com/か?

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

于 2010-12-08T05:54:12.663 に答える