Я пытаюсь сделать некоторые доказательства с JavaScript
, но я вижу поведение, которое, как я считаю, не обязательно должно быть таким. Вот мой код:Какова реальная цель document.write?
Код:
<!DOCTYPE html>
<head>
<meta charset = "utf-8"/>
<title> Exercise prompt </title>
<script type = "text/javascript">
function disp_prompt()
{
var name = prompt("Please enter your name", "");
if(name != null && name != "")
{
document.write("Hi " + name + " How are you?");
}
}
</script>
</head>
<body>
<input type = "button" onclick = "disp_prompt()" value = "Show a prompt box." />
</body>
</html>
Ожидаемый результат:
При нажатии на кнопку, появится приглашение, и когда я нажимаю кнопку «Принять ", предложение по функции document.write
должно быть под кнопкой.
Результат:
Когда prompt box
он отображается и жму на кнопку «Принять», кнопка и исчезнут только показано предложение на функцию document.write
.
Я могу видеть на w3schools следующее предложение:
Написать текст непосредственно в HTML-документ
, но я также мог видеть еще одно заявление:
Используя document.write() после полной загрузки HTML-документа, удаляется весь существующий HTML-код.
Поэтому я не могу понять настоящую цель document.write
. Если вы хотите написать текст на своем HTML
... Почему он должен удалить остальные элементы?
Есть ли способ избежать этого и сохранить остальные элементы на HTML
?
Заранее благодарен!
Второй ответ в несколько аналогичном вопросе, который я опубликовал некоторое время назад, может иметь хорошие ответы на него: http://stackoverflow.com/questions/12574098/is-document-write-actually-deprecated – Stephen
использовать методы DOM/_innerHTML_ для обновления вашего контента. _document.write() _, за пределами нескольких краевых случаев, следует избегать. его можно использовать для синхронизации сценариев загрузки, вставлять объявления или влиять на способ отображения страницы, вставляя динамический контент. – dandavis
Как браузер должен знать, что содержание должно появиться под кнопкой? –