4.11. 快速插入复杂的 HTML

The innerHTML 属性让您可以将 HTML 以字符串的形式表示,然后将它们直接插入到页面中。这样就不需要为每一个 HTML 元素创建单独的 DOM 对象,然后再一个一个的设置它们的属性。

例 4.14. 在页面顶部加上标语

var logo = document.createElement("div");
logo.innerHTML = '<div style="margin: 0 auto 0 auto; ' +
	'border-bottom: 1px solid #000000; margin-bottom: 5px; ' +
	'font-size: small; background-color: #000000; ' +
	'color: #ffffff;"><p style="margin: 2px 0 1px 0;"> ' +
	'YOUR TEXT HERE ' +
	'</p></div>';
document.body.insertBefore(logo, document.body.firstChild);

关键的地方是第二行,在这行我将 logo.innerHTML 设置为字符串。Firefox 将这个字符串解析成 HTML 然后创建所有必需的对象,就像它重新加载一个页面一样。这样我就可以将我的新 logo (一个 <div> 包含另一个 <div>,这个 <div> 包含有一个 <p>)插入到页面的任何位置 — 页面开始,结尾或者我选择的任意元素之前其后。总之,页面上任何位置。

← 替换元素为新内容
在没有服务器的情况下添加图片 →