Объект DHTML в IE предоставляет четыре свойства, доступные для чтения и записи, для динамического управления содержимым элементов страницы: InnerText, OuterText, InnerHTML, OuterHTML
Следует отметить два момента:
1. Значения свойств InnerText и OuterText представлены как обычный текст. Даже если он содержит теги HTML, он будет отображаться правдиво, в то время как InnerHTML и OuterHTML представляют текст, анализируемый механизмом HTML, который может отражать влияние тегов HTML на производительность в атрибутах.
2. Присвоение значений атрибутам externalText и externalHTML объекта (то есть операции записи) приведет к удалению объекта.
Операция присвоения четырех вышеуказанных атрибутов заменяет только текстовое содержимое исходного объекта. Если вы хотите добавить новое текстовое содержимое в соответствующую позицию указанного элемента на странице, вам необходимо использовать методы InsertAdjacentHTML и InsertAdjacentText. Форма имеет следующий вид:
object.insertAdjacentText(sWhere, sText)
object.insertAdjacentHTML(sWhere, sText)
Среди них sWhere представляет положение вставленного текста относительно тега html. Он имеет следующие четыре предустановленных значения:
beforeBegin, afterBegin, beforeEnd и afterEnd.
При их использовании обратите внимание на следующие моменты:
1. Эти два метода необходимо использовать после загрузки всего документа, иначе произойдет ошибка.
2. InsertAdjacentText может вставлять только обычный текст, а InsertAdjacentHTML может вставлять текст в формате html
3. При использовании InsertAdjacentHTML для вставки сценария необходимо использовать атрибут defer в элементе сценария, иначе во время выполнения сценария
4 произойдет ошибка времени выполнения. После того как InsertAdjacentHTML вставит элемент html, все и другие возможные коллекции элементов будут автоматически обновлены с учетом динамических изменений. Например, изменится атрибут sourceIndex последующих элементов на странице.
5. Этот метод может вызвать ошибки во время выполнения при назначении атрибутов InsertHTML/outerHTML недопустимым тегам HTML. Например, следующий код вызовет ошибку:
pdiv.innerHTML = "
hello
"ТЕЛО>
Кроме того, при динамической работе с содержимым страницы необходимо обратить внимание на следующие детали:
1. Только содержимое, отображаемое в документе BODY, может быть динамически изменено с помощью вышеуказанных свойств и методов. Содержимым объекта BODY можно динамически манипулировать, но сам объект BODY не может быть заменен.
2. Вышеупомянутые атрибуты и методы не могут работать с пустыми тегами (тегами HTML без содержимого), такими как input и img.
3. Для табличных объектов только объекты td (innerHTML/innerText) и table (outerHMTL/outerText) могут использовать определенные атрибуты для замены или вставки содержимого; другие табличные объекты, такие как tr и tbody, не могут использовать эти атрибуты для изменения содержимого.