学习周记 Week7
1.学习目标
掌握使用DOM改变HTML、CSS
2.学习内容
2.1 使用DOM改变HTML
HTML DOM 允许 JavaScript 改变 HTML 元素的内容
2.1.1 改变 HTML 输出流
JavaScript 能够创建动态的 HTML 内容。
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<script>
document.write(Date());
</script>
</body>
</html>
运行结果:
在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容
注: 不要在文档(DOM)加载完成之后使用 document.write()。这会覆盖该文档。
2.1.2 改变 HTML 内容
修改 HTML 内容的最简单的方法是使用 innerHTML 属性
document.getElementById(id).innerHTML=新的 HTML
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML="hello!";
</script>
<p>以上段落通过脚本修改文本。</p>
</body>
</html>
运行结果:
本例改变了 < p>元素的内容
例子2:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1 id="header">旧标题</h1>
<h2 id="demo1">旧标题2</h2>
<script>
var element=document.getElementById("demo1");
element.innerHTML="新标题";
</script>
</body>
</html>
运行结果:
本例改变了 < h2> 元素的内容
总结:
1.获取id
2. document.getElementById(id).innerHTML=新的 HTML语句更改内容
2.1.3 改变 HTML 属性
语法:
document.getElementById(id).attribute=新的属性值
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<img id="image" src="smiley.gif" width="160" height="120">
<script>
document.getElementById("image").src="landscape.jpg";
</script>
<p>原图片为 smiley.gif,脚本将图片修改为 landscape.jpg</p>
</body>
</html>
运行前:
运行后:
总结:
1.HTML 文档含有 id=“image” 的 < img> 元素
2.使用 HTML DOM 来获得 id=“image” 的元素
3.JavaScript 更改此元素的属性(把 “smiley.gif” 改为 “landscape.jpg”)
2.2 使用DOM改变CSS
语法:
document.getElementById(id).style.property=新样式
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p id="p1">Hello World!</p>
<p id="p2">Hello World!</p>
<script>
document.getElementById("p2").style.color="blue";
document.getElementById("p2").style.fontFamily="Arial";
document.getElementById("p2").style.fontSize="larger";
document.getElementById("p1").style.color="red";
</script>
<p>以上段落通过脚本修改。</p>
</body>
</html>
运行结果
3.练习
当用户点击按钮时,改变标题颜色
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1 id="id1">我的标题 1</h1>
<button type="button" onclick="document.getElementById('id1').style.color='red'">
点我!</button>
</body>
</html>