element.InnerHtml= allmycontent
: перепишет все внутри элемента. Вы должны использовать переменную let allmycontent="this is what I want to print inside this element"
для хранения всего содержимого, которое вы хотите внутри этого элемента. Если не каждый раз, когда вы будете вызывать эту функцию, содержимое вашего элемента будет удалено и заменено последним вызовом, который вы из него сделали.
document.write()
: можно использовать несколько раз, каждый раз, когда содержимое будет напечатано в месте вызова на странице.
Но учтите: document.write () метод только полезен для вставки содержимого при создании страницы. Поэтому используйте его, чтобы не повторять при наличии большого количества данных для записи в виде каталога продуктов или изображений.
Вот простой пример: все ваши li для вашего дополнительного меню хранятся в массиве «tab», вы можете создать js-скрипт с тегом script прямо на html-странице, а затем использовать метод write в итерационная функция, в которую вы хотите вставить эти li на странице.
<script type="text/javascript">
document.write("<ul>");
for (var i=0; i<=tab.length; i++){
document.write(tab[i]);
}document.write("</ul>");
</script>`
Это работает, потому что Js интерпретируется линейно во время загрузки. Поэтому убедитесь, что ваш скрипт находится в нужном месте на вашей html-странице. Вы также можете использовать внешний файл Js, но опять же вы должны объявить его там, где вы хотите, чтобы он был интерпретирован.
По этой причине document.write нельзя вызывать для записи чего-либо на вашей странице в результате "взаимодействия с пользователем" (например, щелчка или наведения), потому что тогда DOM создан, и метод write, как сказано выше, напишет новую страницу (очистит реальный стек выполнения и запустит новый стек и новое дерево DOM). В этом случае используйте:
element.innerHTML=("Myfullcontent");
Чтобы узнать больше о методах документа: откройте консоль: document;
затем откройте: __proto__: HTMLDocumentPrototype
Вы увидите свойство функции «запись» в объекте документа.
Вы также можете использовать document.writeln , который добавляет новую строку в каждом операторе.
Чтобы узнать больше о функции / методе, просто напишите ее имя в консоли без скобок: document.write;
Консоль вернет описание вместо вызова.