2016-12-27 2 views
-1

私はリンクがどのように見えるHTMLエンティティは未解析のままになるのはいつですか?

など、著者、オーディオファイルへのリンクの<table>でウェブサイトがあります...私は少し奇妙見つける何かに遭遇しました:

<a href="Links/Audio/audio_file_1.mp3">This & That</a> 

私は&文字がソースファイルに&amp;と書かれていないことが奇妙なことがわかりました。 Chrome Dev Tools(またはFirefox)を使用してコンテンツをThis &amp; Thatに変更すると、文字の代わりに文字列&amp;が表示されます。何故ですか?

テーブルはTableSorterを使用していますが、私はこれをフードの下で実行している可能性があると考えていました...しかし、JavaScriptを無効にして開いても、生の&文字は表示されます犯人

+3

devツールで「&」と入力し、ページに「&」と表示されたら、ノード値を編集しています。ノードHTMLを編集する必要があります。 –

+1

デベロッパーツールでHTMLやテキストとして編集しましたか?大きな違い – epascarello

答えて

2

HTMLエンティティは未解析のままになるのはいつですか?

これらはありません。 HTMLは読み込み中に解析されます。これはJavaScriptから完全に独立しています。

&文字がソースファイルに&として書き込まれていないと奇妙なことがわかりました。

確かに、それはする必要がありますが、それはブラウザが優雅に無効なマークアップを扱うので、それがあるように動作し、かつ特定の局面は、今の仕様でエンコードされているという事実で:として採用されていないambiguousあるアンパサンドリテラルアンパサンド。

私はクローム開発ツール(またはFirefox)を使用してThis &amp; Thatに内容を変更する場合は、文字列&amp;だけではなく、&文字で、表示されています。何故ですか?

あなたがChromeのデベロッパーツールによるDOMおよび類似を表示すると、あなたは、有効な形式で表さライブDOM、ない実際のソースファイルを見ているので、当然ブラウザは&それが必要エンティティ(&amp;などということを示しますソースファイルにあります)。

1

これはJavascriptとは独立しています。また、それらのシンボルのASCII 12月の提供である&#38;、:&amp;

&は同じHTMLの番号を持っています。あなたがここを見てとることができます。http://www.ascii.cl/htmlcodes.htm

だから私はあなたのコードに問題があると思い、彼らはあなたの画面に同じ記号(&)として見られるべきです。

+0

HTMLエンティティの数はUnicodeコードポイントです。 ASCIIコードは100文字のようにしかエンコードできないのでほとんど使用されません。その大部分は最初にHTMLエンティティとして表現する必要はありません。 –

関連する問題