2011-09-12 3 views
5

Je voudrais changer le style CSS de toutes les ancres sans l'attribut href.Sélectionnez les ancres sans href

Je peux utiliser le sélecteur pour sélectionner les ancrages qui commencent par quelque chose en utilisant $('a[href^="some_link"]'). Mais je veux que ce soit l'inverse. Comment puis-je sélectionner des ancres sans href en utilisant jquery?

Aussi, puis-je réaliser cela en utilisant un sélecteur css?

Merci.

Répondre

14

Vous voulez ce sélecteur (compatible jQuery/CSS):

a:not([href]) 

Si vous avez besoin d'un soutien IE (à cause de cette :not()), l'utiliser comme un sélecteur jQuery. Sinon, vous pouvez l'utiliser pour une règle CSS.

+0

il est bizarre que 'a [href]' sélectionner également les éléments sans 'href' –

1

Utilisez $("a").filter(function() { return !this.attributes['href']; }).

C'est un peu plus long, mais les navigateurs peuvent optimiser la sélection des ancres et effectuer le filtrage plus rapidement que Sizzle (ou querySelectorAll) peut s'exécuter.

http://jsfiddle.net/9PWQB/

Questions connexes