データを取得してデータベースに保存するために innerHTML を作成します。Firefox で試したところ、属性の引用符 (" または ') が正しく表示されます。しかし、IE では、属性の引用符 (" または ') が取得されません。これはブラウザの問題ですか?これに対する任意の答え。
ありがとう
データを取得してデータベースに保存するために innerHTML を作成します。Firefox で試したところ、属性の引用符 (" または ') が正しく表示されます。しかし、IE では、属性の引用符 (" または ') が取得されません。これはブラウザの問題ですか?これに対する任意の答え。
ありがとう
はい、これはブラウザーの問題であり、IE のやり方です。HTML のすべての属性に引用符が必須ではないことに注意してください。したがって、IE の出力が無効になるわけではありません。XHTML が必要な場合は、DOM を歩いて自分で作成する必要があります。
はい。を使用するinnerHTML
と、ブラウザーは DOM 要素と要素内の属性に基づいて HTML を再作成します。最近まで標準が存在しなかったため、ブラウザーによって動作が異なります ( innerHTML
Microsoft のイノベーションであり、ほぼすべての人が採用し、HTML5で標準化されています)。マークアップが次のようになっている場合:
<span style="color: red" id="foo">...</span>
そのための IE は次のinnerHTML
ようになります。
<SPAN id=foo style="COLOR: red">...</SPAN>
...一方、Firefox と Chrome はオリジナルにかなり近いです。
IE が提供するのは有効な HTML (スペースを含まない属性の引用符を省略でき、大文字のタグ名も問題ありません) ですが、有効な XHTML ではありません (それが重要な場合) )。
DOM ツリーを自分でトラバースするか、IE の結果を後処理することで、必要に応じて独自の (X)HTML 文字列を作成できます。
良いニュースは、現在それinnerHTML
が標準化されていることです。標準では、結果は XML ドキュメント (XHTML ドキュメント) 内の有効な XML である必要があると明確に述べられています。Microsoft は、この分野の標準に、彼らよりも熱心に取り組んでいるためです。この点に関しては、IE9 の方がうまくいく可能性があります。