2010-06-21 2 views
1

Je voudrais avoir jQuery ajouter un style = "text-align: left;" à tous les éléments sur ma page.Dans jQuery, comment ajouter un style aligné à gauche sur TOUS les éléments?

Je sais que je devrais probablement faire quelque chose comme:

$('everything-in-the-page').each(... 

Mais je suis un peu confus quant à la façon dont je peux sélectionner toutes les balises HTML.

JUSTE pour arrêter le BACKLASH: Ceci est un site accessible (impression seulement). Donc, OUI I SAVOIR C'est une mauvaise pratique.

+2

Pourquoi ne pas faire dans votre CSS de base si elle va à * tous les appliquent élément *? –

+0

Que faites-vous après ici? Mettre une classe css sur * chaque * élément n'est pas une bonne solution ... quel est le problème? Il y a probablement une meilleure façon de le résoudre :) –

Répondre

1

Qu'en est-:

$('*').css('textAlign', 'left'); 
+0

Fonctionne pour moi ... –

+2

Comme cela a été accepté - pour sauver les futurs googlers .... ** Styles cascade ** (CSS, * cascading * feuilles de style), en l'appliquant * une fois * au «» en CSS fera l'affaire, je ne sais pas quoi l'accent mis sur la réalisation de cette performance est aussi lent que possible. 'text-align' sur un parent va (cascades) à l'enfant,' $ ('body'). css ('text-align', 'left'); 'serait tout ce dont vous avez besoin pour faire cela, si vous avez éléments spécifiques qui ont une autre propriété 'text-align' appliquée, sélectionnez-les, mais tout sélectionner est * rarement *, si ** jamais **, une bonne idée. –

1

Qu'en est-il en utilisant * comme sélecteur CSS, si vous voulez indiquer tout?

-à-dire:

$('*').each(... 


En tant que référence, vous pouvez jeter un oeil à 5.3 Universal selector(citant):

Le sélecteur universel, écrit "*", correspond à la nom de tout type d'élément. Il correspond à n'importe quel élément de l'arborescence .

+0

Vous devriez noter que c'est une ** vraiment ** mauvaise idée ... –

+0

@Nick: oui, probablement - n'a pas pensé à le dire, donc, merci pour le commentaire :-) –

5

Si vous besoin de le faire (s'il vous plaît ne pas, il est un vraiment mauvaise idée pour plusieurs raisons, la performance pour commencer):

$('*').css('text-align', 'left'); 

Mais il semble que juste seule règle CSS ferait le travail:

body { text-align: left; } 
0
$('*').each(... 
0

Si vous voulez un style d'impression uniquement, vous pouvez toujours utiliser CSS:

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

JavaScript n'est pas un bon moyen d'assurer une meilleure accessibilité - votre volonté de mieux bien travailler même avec JavaScript désactivé .

Plus de détails: A List Apart - CSS Design: Going to Print

Questions connexes