document.write сбрасывает тело один раз - PullRequest
3 голосов
/ 22 декабря 2010

Когда я использовал document.write после загрузки тела (через событие onclick), оно перезаписывает все тело.Я хочу этого для того, чего я пытаюсь достичь.Однако, когда я делаю это снова, это просто добавляет к предыдущему контенту.Почему он перезаписывает все в первый раз, а добавляет только в следующий?

Ответы [ 2 ]

11 голосов
/ 22 декабря 2010

Если документ не открыт для записи, то вызов document.write автоматически вызовет document.open.

При первом вызове document.write браузер загрузил документ и таким образом закрыл его для записи. Это вызывает document.open, который стирает существующий документ и создает новый для записи.

Поскольку браузер не загружает это, он не закрывает его автоматически для записи, поэтому содержимое добавляется при повторном вызове docment.write. Вы можете явно позвонить document.close и document.open, если хотите стереть содержимое.

Подробнее см. https://developer.mozilla.org/en/document.write.

2 голосов
/ 22 декабря 2010

Когда вы используете document.write, он пишет прямо на страницу / тело. Если вы хотите записать в какой-то конкретный элемент, вы можете использовать синтаксис, такой как этот:

document.getElementById('elementID').innerHTML = 'your string';
...