يوفر كائن DHTML الخاص بـ IE أربع خصائص قابلة للقراءة والكتابة لمعالجة محتوى عناصر الصفحة ديناميكيًا: النص الداخلي، النص الخارجي، النص الداخلي، النص الخارجي،
نقطتان يجب ملاحظتهما:
1. يتم تقديم قيم خصائص النص الداخلي والنص الخارجي كنص عادي. حتى لو كانت تحتوي على علامات HTML، فسوف تنعكس بصدق؛ بينما يقدم HTML الداخلي وHTML الخارجي النص الذي تم تحليله بواسطة محرك HTML، والذي يمكن أن يعكس تأثير أداء علامات HTML في السمات.
2. سيؤدي تعيين قيم للنص الخارجي وسمات HTML الخارجية للكائن (أي عمليات الكتابة) إلى حذف الكائن.
عملية التعيين للسمات الأربع المذكورة أعلاه تستبدل فقط محتوى النص للكائن الأصلي. إذا كنت ترغب في إضافة محتوى نصي جديد في الموضع المناسب للعنصر المحدد في الصفحة، فأنت بحاجة إلى استخدام أساليب InsertAdjacentHTML وinsertAdjacentText. النموذج كما يلي:
object.insertAdjacentText(sWhere, sText)
object.insertAdjacentHTML(sWhere, sText)
من بينها، يمثل sWhere موضع النص المدرج بالنسبة إلى علامة html، ويحتوي على القيم الأربعة المحددة مسبقًا التالية:
beforeBegin، وafterBegin، و beforeEnd، و afterEnd.
يرجى الانتباه إلى النقاط التالية عند استخدامها:
1. يجب استخدام هاتين الطريقتين بعد تحميل المستند بأكمله، وإلا سيحدث خطأ.
2. يمكن لـ InsertAdjacentText إدراج نص عادي فقط، ويمكن لـ InsertAdjacentHTML إدراج نص بتنسيق html
3. عند استخدام InsertAdjacentHTML لإدراج برنامج نصي، يجب عليك استخدام سمة التأجيل في عنصر البرنامج النصي، وإلا سيحدث خطأ في وقت التشغيل أثناء تنفيذ البرنامج النصي
4. بعد أن يقوم InsertAdjacentHTML بإدراج عنصر html، سيتم تحديث كافة مجموعات العناصر الممكنة الأخرى تلقائيًا لتعكس التغييرات الديناميكية. على سبيل المثال، ستتغير سمة sourceIndex للعناصر اللاحقة في الصفحة.
5. قد تتسبب هذه الطريقة في حدوث أخطاء في وقت التشغيل عند تعيين سمات InsertHTML/outerHTML لعلامات HTML غير الصالحة. على سبيل المثال، التعليمة البرمجية التالية سوف تسبب خطأ:
<BODY>
<p id=pdiv></p>
<SCRIPT LANGUAGE="JavaScript">
pdiv.innerHTML = "<p>hello</p>"
</SCRIPT>
</الجسم>
بالإضافة إلى ذلك، يجب الانتباه إلى التفاصيل التالية عند تشغيل محتوى الصفحة ديناميكيًا:
1. يمكن فقط تغيير المحتوى المعروض في المستند BODY ديناميكيًا من خلال الخصائص والأساليب المذكورة أعلاه. يمكن معالجة محتوى كائن BODY ديناميكيًا، لكن لا يمكن استبدال كائن BODY نفسه.
2. لا يمكن للسمات والأساليب المذكورة أعلاه أن تعمل على علامات فارغة (علامات html بدون محتوى)، مثل input وimg.
3. بالنسبة لكائنات الجدول، يمكن لكائنات td (innerHTML/innerText) وtable (outerHMTL/outerText) فقط استخدام سمات معينة لاستبدال المحتوى أو إدراجه؛ ولا يمكن لكائنات الجدول الأخرى، مثل tr وtbody، استخدام هذه السمات لتغيير المحتوى.