В старом JavaScript вы могли сделать это:
document.body.innerHTML = '<p id="foo">Some HTML</p>' + document.body.innerHTML;
В ответ на ваш комментарий:
[...] Меня интересовало объявление источника атрибутов и событий нового элемента, а не самого innerHTML
элемента.
Однако вам нужно вставить новый HTML в DOM; вот почему innerHTML
используется в старом примере JavaScript. innerHTML
Из BODY
элемента предваряется с новым HTML. На самом деле мы не затрагиваем существующий HTML внутриBODY
.
Я перепишу вышеупомянутый пример, чтобы прояснить это:
var newElement = '<p id="foo">This is some dynamically added HTML. Yay!</p>';
var bodyElement = document.body;
bodyElement.innerHTML = newElement + bodyElement.innerHTML;
// note that += cannot be used here; this would result in 'NaN'
Использование фреймворка JavaScript сделает этот код менее подробным и улучшит читаемость. Например, jQuery позволяет делать следующее:
$('body').prepend('<p id="foo">Some HTML</p>');