2010-10-08 7 views
3

J'utilise actuellement:Marque .Find non sensible à la casse

$results.find('a[href$=".doc"]') 

pour trouver quoi que ce soit avec la fin .doc pour des raisons d'édition. Cependant, cela semble être sensible à la casse, c'est-à-dire si un document se termine par .DOC ou .Doc, il ne les trouvera pas. Est-il possible de rendre ce cas non sensible?

Répondre

8

Vous devez créer une fonction pour faire correspondre la casse avec insensibilité.

$results.find('a').filter(function(){return /\.doc$/i.test(this.href);}); 

Il est également possible d'énumérer les 8 cas dans le sélecteur, mais cela ne sera pas facilement échelonné.

$results.find('a[href$=".doc"],a[href$=".doC"],a[href$=".dOc"],a[href$=".dOC"],a[href$=".Doc"],a[href$=".DoC"],a[href$=".DOc"],a[href$=".DOC"]') 
+1

+ 1 - C'est votre meilleur pari, faire un autre sélecteur d'attribut n'est pas joli, et ne sera pas aussi efficace non plus. –

+0

aïe. Je suppose que cela fonctionne, mais ce n'est pas joli code. – Spudley

0

essayer je ne suis pas sûr:

$results.find("a:regex(href, /\.doc$/i)")

mais cela fonctionnera pour tous un tags u peut l'utiliser avec

$ résultats en quelque sorte
$("a:regex(href, /\.doc$/i)")

http://api.jquery.com/category/selectors/

Questions connexes