2009-10-13 6 views
2

J'utilise ce (jQuery) pour remplacer tous les <br> s avec <br /> pour effacer les erreurs de validation:Remplacer tous les <br> avec <br />

$("<br>").replaceAll("<br />"); 

mais il ne réduit pas les erreurs de validation. Est-ce que le validateur vérifie la source d'origine?

+13

Oui, bien sûr. Je pense que vous manquez le point de validation. – Kobi

+9

C'est de loin le pire moyen d'y remédier. Utilisez un doctype HTML au lieu d'un doctype XHTML si vous voulez utiliser

Répondre

3

Il n'y a aucune raison de le faire. XHTML est mort. Mettez votre DOCTYPE html 5 et revenir à joyeusement en utilisant les balises non fermées:

<!DOCTYPE html> 
+3

XHTML n'est pas mort. XHTML 2 n'est plus en développement actif, mais il y a encore des raisons valables d'utiliser XHTML, et ça ne va nulle part. Le problème avec XHTML 1.1 est que la plupart des gens ne servent pas leurs pages en XML, ce qui est la principale raison d'utiliser XHTML. Mais il y a des applications pour cela, donc juste parce que vous choisissez de ne pas l'utiliser, cela ne le rend pas mort, et cela ne rend pas cette réponse utile. – idrumgood

+0

D'accord avec le commentaire ci-dessus, mais dans ce cas, c'était utile. Je peux changer le doctype. :) – 3zzy

+2

Eh bien alors votre question aurait dû être "Comment puis-je valider une page qui a'
'dedans?" – idrumgood

5

Les validateurs n'exécutent pas de javascript. Ils analysent le code HTML et le comparent au schéma du doctype déclaré.

Vous devrez remplacer le <br> dans vos fichiers/vues source et non sur le client.

11

JQuery ne se déclenchera qu'une fois le document rendu. Le processus de chargement de la page se produira comme le

suivant
  1. page Demander est faite
  2. page est envoyée à la machine client
  3. page charge vers le haut
  4. page est validée
  5. JQuery Feux
  6. les étiquettes de rupture sont remplacées

Je recommanderais de faire comme Tout d'abord, trouvez et remplacez toutes les étiquettes <br> et remplacez-les par <br />

+0

Je suis d'accord, tout ce que vous pouvez faire en dehors de Javascript, vous devriez. – LiamB

0

d'abord, comme cela a été dit, les valideurs vérifient le fichier html et ne font rien fonctionner. à côté, si vous voulez que le html soit valide, il y a beaucoup plus que
bien sûr .. pourquoi n'utilisez-vous pas simplement un éditeur html?

1

Le code HTML est analysé dans le modèle DOM (étape 3 dans le poste de Gary), où <br> et <br /> sont considérés comme égaux. L'ajout d'un élément à une page HTML via JavaScript, que vous utilisiez jQuery ou tout autre moyen, analysera votre élément et l'ajoutera au DOM. L'apparence du HTML interne n'a plus d'importance pour le navigateur concerné.

Vous pouvez voir cela par vous-même si vous utilisez innerHTML. Placez les éléments suivants dans un document HTML (peu importe si elle est XHTML, HTML4 ou HTML 3.2):

<p onclick="alert(this.innerHTML);">BR: <br />self close</p> 
<p onclick="alert(this.innerHTML);">BR: <br>open</p> 
<p onclick="alert(this.innerHTML);">BR: <BR>open capitals</p> 

charge dans un navigateur et cliquez dessus.

Sur IE les trois variantes apparaissent comme "<BR>", sur FF, Chrome, Opera les trois variantes apparaissent comme "<br>". C'est ainsi que les navigateurs représentent le HTML en interne. Utiliser un code HTML valide ou un code HTML invalide avec JavaScript ne changera pas cela. Pire: la représentation HTML interne n'est pas XHTML valide, même lorsque le document est!

Questions connexes