2

これ(jQuery)を使用して、すべて<br>の s をに置き換えて、<br />検証エラーを解消しています。

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

ただし、検証エラーは減少しません。バリデーターは元のソースをチェックしますか?

4

5 に答える 5

10

JQuery は、ドキュメントがレンダリングされた後にのみ起動します。ページ読み込みのプロセスは次のようになります

  1. ページのリクエストが作成されました
  2. ページがクライアント マシンに送信される
  3. ページロードアップ
  4. ページが検証されました
  5. JQuery の発火
  6. ブレークタグは置き換えられます

<br>すべてのタグでサイト全体の検索と置換を行い、それらを次のように置き換えることをお勧めします<br />

于 2009-10-13T14:17:43.760 に答える
5

バリデータは JavaScript を実行しません。HTML を解析し、宣言された doctype のスキーマと比較します。

<br>クライアント側ではなく、ソース ファイル/ビューでを置き換える必要があります。

于 2009-10-13T14:15:39.630 に答える
3

これを行う理由はありません。XHTML は死んでいます。doctype を html 5 に切り替えて、閉じられていないタグを使用して幸せに戻ります。

<!DOCTYPE html>
于 2009-10-13T14:49:00.017 に答える
1

HTML は DOM モデルに解析されます (Gary の投稿のステップ 3)。ここで、<br><br />は等しいと見なされます。JavaScript を使用して要素を HTML ページに追加すると、jQuery を使用するか他の手段を使用するかに関係なく、要素が解析されて DOM に追加されます。内部の HTML がどのように見えるかは、ブラウザーにとってもはや重要ではありません。

を使えば一目瞭然ですinnerHTML。以下を任意の HTML ドキュメントに配置します (XHTML、HTML4、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>

ブラウザにロードしてクリックします。

IE では 3 つのバリアントすべてが として表示され"<BR>"、FF、Chrome、Opera では 3 つのバリアントすべてが として表示され"<br>"ます。これは、ブラウザーが HTML を内部的に表現する方法です。JavaScript で有効な HTML または無効な HTML を使用しても、これは変わりません。さらに悪いことに、ドキュメントが XHTML であっても、内部の HTML 表現は有効な XHTML ではありません!

于 2009-10-13T14:50:00.420 に答える
0

まず、前述のように、バリデーターは html ファイルをチェックし、何も実行しません。さらに、html を有効にしたい場合は、もちろんそれ以上
のものがあります.. html エディタを使用しないのはなぜですか?

于 2009-10-13T14:22:41.427 に答える