2010-12-08 5 views
1

J'essaie d'obtenir un tableau de tous les liens sur une page dont href correspond à une chaîne spécifique (partie de l'URL). Cette méthode fonctionne dans tous les navigateurs mais IE, et je ne sais pas pourquoi.IE et string correspondant

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

J'utilise Mootools ce qui expliquerait le peu $('clients').getElements().

Dans tous les navigateurs, mais IE a.length renvoie 10. IE renvoie 0. Tout le monde sait pourquoi?

Il est important de mentionner que je n'ai besoin que de la première partie de l'href. Donc <a href="/work.php?subsection=1&project=11"></a> devrait correspondre.

+0

Cela devrait probablement être étiqueté avec 'Mootools'. – ClosureCowboy

Répondre

2

Sans savoir quelle version de Mootools vous utilisez, et sans voir le balisage de la page, il est difficile de donner une réponse.

Est-ce que IE peut traiter les URL comme si elles étaient entièrement qualifiées? En d'autres termes, au lieu de commencer par /work.php?subsection=1, IE pourrait-il croire que les URL commencent par http://yourdomain.com/? Editer: Pour contourner le problème, vous pouvez utiliser le sélecteur [att*=val], qui correspond à si l'attribut contient simplement la valeur spécifiée. Si vous pensez que votre URL peut contenir /work.php?subsection=1 autre part que le début, et vous vraiment ne veulent pas faire correspondre ces, vous pouvez jeter votre domaine là aussi.

+0

Vous savez quoi? Je pense que c'est ça, bon sang. Ack! Pourquoi diable est-ce que ça fait ça? Dois-je saisir le domaine aussi? –

+0

S'il vous plaît voir mon edit! Je suis content que vous ayez rencontré ce problème avant que je le fasse ... Je pourrais imaginer que cela gâche ma journée à un moment donné. – ClosureCowboy

+0

Tu as vraiment sauvé mes fesses ce soir. '[att * = val]' a fonctionné parfaitement. Je vous remercie!!! Été luttant avec cela pendant quelques heures. –