HTML DOM 允许 JavaScript 改变 HTML 元素的内容。


改变 HTML 输出流

JavaScript 能够创建动态的 HTML 内容:

今天的日期是:

Tue Oct 18 2016 09:59:23 GMT+0800


在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。

实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
document.write(Date());
</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

lamp绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。

改变 HTML 内容

修改 HTML 内容的最简单的方法时使用 innerHTML 属性。

如需改变 HTML 元素的内容,请使用这个语法:

document.getElementById(id).innerHTML=新的 HTML

本例改变了 <p>元素的内容:

实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML="新文本!";
</script>
<p>以上段落通过脚本修改文本。</p>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

本例改变了 <h1> 元素的内容:

实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<h1 id="header">旧标题</h1>
<script>
var element=document.getElementById("header");
element.innerHTML="新标题";
</script>
<p>"旧标题" 被 "新标题" 取代。</p>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例讲解:

  • 上面的 HTML 文档含有 id="header" 的 <h1> 元素


  • 我们使用 HTML DOM 来获得 id="header" 的元素


  • JavaScript 更改此元素的内容 (innerHTML)



改变 HTML 属性

如需改变 HTML 元素的属性,请使用这个语法:

document.getElementById(id).attribute=新属性值

本例改变了 <img> 元素的 src 属性:

实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<img id="image" src="/upload/course/000/000/009/580469a2a27e3327.gif" width="160" height="120">
<script>
document.getElementById("image").src="/upload/course/000/000/009/58058303e12c0481.jpg";
</script>
<p>原图片为 /upload/course/000/000/009/580469a2a27e3327.gif,脚本将图片修改为/upload/course/000/000/009/58058303e12c0481.jpg</p>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例讲解:

  • 上面的 HTML 文档含有 id="image" 的 <img> 元素

  • 我们使用 HTML DOM 来获得 id="image" 的元素

  • JavaScript 更改此元素的属性(把 "/upload/course/000/000/009/58058303e12c0481.jpg" 改为 "/upload/course/000/000/009/580469a2a27e3327.gif
    ")