1

私はすでにかなり複雑な DOM 構造を持っています。終了していない画像要素が問題を引き起こす可能性を排除したいと考えています。

最も単純なケースを見ると:

var prettyPicture = document.createElement("img");
//Add properties...
container.appendChild(prettyPicture );

正常に動作しますが、dom を検査すると、次のような終了スラッシュのない img 要素が表示されます。<img/>

<img id="iamge-6816177" src="_site/images/detail/6816177.png">

単純なレイアウト ビューでは問題はありませんが、これらの要素、ランダムな要素、さらには同じ親ノード内の同様の画像が大量にあるビューを見ると、それらのノードは dom インスペクタにありますが、レンダリングされません。終端がないと、ツリーに問題が発生しますか?

4

4 に答える 4

3

要素の終了タグimgは完全にオプションです。これは、どのブラウザーでも問題を引き起こすことはありません。/>実際、HTML5 ではinimg要素をまったく含めないことになっています。

また、DOM を調べたときに表示されるのは、インスペクターが終了タグなしで要素を表示することを選択した方法です。有効な HTML を生成しcreateElement()ていることを確認できます。 appendChild()DOM オブジェクトに解析するブラウザー。

于 2012-11-08T18:39:06.300 に答える
1

気になる方は

<img id="iamge-6816177" src="_site/images/detail/6816177.png">

それ以外の

<img id="iamge-6816177" src="_site/images/detail/6816177.png"/>

それなら心配ありません。苦痛を伴う XHTML の時代は終わり、HTML5 は、XML スタイルの自己終了タグを記述するべきではないことを確認しています。

仕様から:

空要素には開始タグしかありません。void 要素には終了タグを指定してはなりません。

[...]

ボイド要素

area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr

コードを終了タグで乱雑にするのは悪い習慣です。HTML は XHTML ではありません。

于 2012-11-08T18:39:46.157 に答える
0

http://www.w3schools.com/tags/tag_IMG.aspから

HTML では、<img> タグには終了タグがありません。

XHTML では、<img>タグを適切に閉じる必要があります。

いずれの場合も、ブラウザは気にしません。

于 2012-11-08T18:40:04.053 に答える
0

いいえ、これで問題が発生することはありません。DOM 要素は動的に生成されるため、これは w3.org への準拠を損なうものではないため、無視します。

于 2012-11-08T18:42:44.103 に答える