IE の DHTML オブジェクトには、ページ要素のコンテンツを動的に操作するための 4 つの読み取りおよび書き込み可能なプロパティが用意されています。innerText、outerText、innerHTML、outerHTML の
2 つの点に注意してください。
1. innerText プロパティと externalText プロパティの値は、通常のテキストとして表示されます。 HTML タグが含まれている場合でも、それは忠実に反映されます。一方、innerHTML と externalHTML は HTML エンジンによって解析されたテキストを表示するため、属性内の HTML タグのパフォーマンス効果を反映できます。
2. オブジェクトのouterText属性とouterHTML属性に値を割り当てると(つまり、書き込み操作)、オブジェクトが削除されます。
上記の 4 つの属性の割り当て操作では、元のオブジェクトのテキスト コンテンツが置き換えられるだけです。ページ内の指定された要素の関連位置に新しいテキスト コンテンツを追加する場合は、insertAdjacentHTML メソッドと insertAdjacentText メソッドを使用する必要があります。形式は次のとおりです:
object.insertAdjacentText(sWhere, sText)
object.insertAdjacentHTML(sWhere, sText)
このうち、sWhere は HTML タグからの相対的な挿入テキストの位置を表し、
beforeBegin、afterBegin、beforeEnd、afterEnd の 4 つの値があらかじめ設定されています。
使用する際は次の点に注意してください
。これら 2 つのメソッドは、ドキュメント全体がロードされた後に使用する必要があります。そうしないと、エラーが発生します。
2. InsertAdjacentText は通常のテキストのみを挿入でき、InsertAdjacentHTML は HTML 形式
3 のテキストを挿入できます。 InsertAdjacentHTML を使用してスクリプトを挿入する場合は、script 要素で defer 属性を使用する必要があります。そうしないと、スクリプトの実行中にランタイム エラーが発生します
。 InsertAdjacentHTML が html 要素を挿入すると、すべての要素およびその他の可能な要素コレクションが動的変更を反映するために自動的に更新されます。たとえば、ページ上の後続の要素のsourceIndex属性が変更されます。
5.このメソッドでは、InsertHTML/outerHTML 属性を無効な HTML タグに割り当てるときに実行時エラーが発生する可能性があります。たとえば、次のコードはエラーを引き起こします:
pdiv.innerHTML = "
hello
"
また、ページコンテンツを動的に操作する場合は、以下の点に注意する必要があります
。上記のプロパティやメソッドで動的に変更できるのは、ドキュメントのBODYに表示されている内容のみです。BODYオブジェクトの内容は動的に操作できますが、BODYオブジェクト自体を置き換えることはできません。
2.上記の属性とメソッドは、input や img などの空のタグ (コンテンツのない html タグ) では操作できません。
3.テーブル オブジェクトの場合、td (innerHTML/innerText) オブジェクトとテーブル (outerHMTL/outerText) オブジェクトのみが、特定の属性を使用してコンテンツを置換または挿入できます。tr や tbody などの他のテーブル オブジェクトは、これらの属性を使用してコンテンツを変更することはできません。