2009-09-02 4 views
1

J'essaie de sélectionner un élément basé sur son href dans une table d'enregistrements. J'ai deux liens pour chaque enregistrement:jQuery, caractères d'échappement lors de la sélection par href

« Réorganiser = + » et « Réorganiser = - »

Si je

a[href*=reorder] 

les deux éléments sont avec succès reconnus, si je tente de faire la différence entre les deux, rien ne se passe par exemple:

a[href*=reorder\=\+] 

Y a-t-il un moyen de contourner ce problème?

Merci

Répondre

2

Avez-vous essayé? Les citations peuvent faire la différence.

$("a[href*='reorder=+']") 
+0

Excuses, mon erreur. Les valeurs href réelles étaient réordonnées = - (id) ou juste réordonner = (id). Existe-t-il un moyen de filtrer en fonction de l'absence d'un caractère? Merci. – Dan

+0

Cela vous montre comment créer un filtre personnalisé. Vous pouvez l'utiliser, ou simplement prendre les principes et les utiliser dans un .each (function() {...}). http://www.west-wind.com/Weblog/posts/519980.aspx –

0

Cela devrait fonctionner:

$('a[href="reorder=+"]'); 
+0

Aucune de ces solutions ne semble fonctionner :( – Dan

+0

Pourquoi ne pas ajouter le HTML à votre question, afin que nous puissions voir plus d'informations, puis? –

0

Essayez ceci:

$('a').filter(function() 
{ 
    return $(this).attr("href").IndexOf("reorder=+")!=-1; 
}) 
0

Dan, Compte tenu de votre commentaire

Toutes mes excuses, mon erreur. Les valeurs href réelles étaient réordonnées = - (id) ou juste réordonner = (id). Y a-t-il un moyen de filtrer en fonction de l'absence d'un personnage?

le sélecteur, vous devez utiliser est:

$("a[href*='reorder=']:not([href*='reorder=-'])") 

Ce sélectionne tous les points d'ancrage où le href contient « réordonner = » et supprime alors tous ceux qui contiennent « Réorganiser = - », laissant ainsi ceux qui sont de la forme "reorder = (id)".

Questions connexes