2017-01-06 6 views
3

divのような要素を作成すると、閉じたタグも作成されます。しかし、canvasのような要素を作成すると、開始タグのみが作成され、終了タグは作成されません。どうして?document.createElement()要素の作成方法が異なりますか?

document.createElement('div'); 

これは<div></div>

document.createElement('canvas'); 

を作成し、私はそれに子を追加した場合、それは<canvas>childTag</canvas>を作成し、<canvas>を作成します。何か特別な理由はありますか?どのような要素がこれのように振る舞うか?どの要素が上記のようにふるまうかdivcanvasの終了タグはオプションですか?

答えて

3

これはあなたの開発ツールの「マークアップライブビュー」にのみ存在します。終了タグはそこにあり、mustがそこにある。

Chromeはコンテンツを表示しないため(おそらく<canvas>には隠されたコンテンツが含まれている可能性があります)、これはおそらく実行されます。

あなたが作成された要素のouterHTMLプロパティを呼び出すことによってこれを確認することができます

console.log(document.createElement('canvas').outerHTML);

+0

あなたは詳細に説明していただけますか?詳細情報 –

+0

詳細は?あなたのデベロッパーのライブビューツールは、実際には正確なHTMLを表示していませんか?私はそれがすでに答えていると思います。キャンバス要素内の唯一の有用な内容は、アクセシビリティのためにキャンバスに焦点を合わせる入力項目であり、それほど多くの開発者ではないためですこの機能を使用してください...しかし、私はこれらの詳細が問題の焦点を外していると思います。 – Kaiido

関連する問題