<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--HTML DOM-->
<!--Document Object Model-->
<!--JS能够改变页面中所有的HTML元素、属性、CSS样式及对所有事件做出反应-->
<!--
通过JS操作HTML元素的前提是找到该元素,有三种方法:
1.通过id找到HTML元素
2.通过标签名找到HTML元素
3.通过类名找到HTML元素
-->
<!--通过id找到HTML元素-->
<!--如果找到该元素,则该方法以对象(在x中)的形式返回该元素-->
<!--如果未找到该元素,则x将包含null-->
<p id="intro">Hello World!</p>
<p>本例演示<b>getElementById</b>的用法</p>
<script>
x = document.getElementById("intro");
document.write("<p>id='intro'的段落中的文本是: " + x.innerHTML + "</p>");
</script>
<!--通过标签名查找HTML元素-->
<p>Hello World!</p>
<div id="main">
<p>The DOM is very useful.</p>
<p>本例演示<b>getElementsByTagName</b>方法</p>
</div>
<script>
var x = document.getElementById("main");
var y = x.getElementsByTagName("p");
document.write('id 为"main"的div中的第一段文本是: ' + y[0].innerHTML + "<br />");
document.write('id 为"main"的div中的第二段文本是: ' + y[1].innerHTML + "<br />");
</script>
<!--JS能够创建动态的HTML内容-->
<script>
document.write(Date() + "<br />");
</script>
<!--修改HTML内容的最简单方法: 使用innerHTML属性-->
<p id="p1">这是段落内容,JS可以改变它</p>
<script>
document.getElementById("p1").innerHTML="这是修改后的内容";
</script>
<!--改变HTML属性-->
<img id="image" src="海绵宝宝2.jpg" />
<script>
document.getElementById("image").src="海绵宝宝1.gif";
</script>
<p>上面的原始图片是静态的,JS把它换成一张动态的</p>
<!--修改CSS样式-->
<p id="p2">这是一段内容</p>
<p id="p3">这是另一段内容</p>
<script>
document.getElementById("p2").style.color="blue";
document.getElementById("p3").style.fontSize="larger";
</script>
<!--上面是直接对CSS样式修改,还可以通过点击按钮等形式来主动改变-->
<h1 id="id1">这是最大的一个标题</h1>
<button type="button" onclick="document.getElementById('id1').style.color='red'">点击我可以改变大标题的字体颜色</button>
<!--使元素可见或不可见-->
<p id="p4">这是一段文本,可被隐藏或显示可见</p>
<input type="button" value="隐藏文本" onclick="document.getElementById('p4').style.visibility='hidden'" />
<input type="button" value="显示文本" onclick="document.getElementById('p4').style.visibility='visible'" />
<!--对事情做出反应-->
<!--可以在事件发生时执行JS,比如当用户在HTML元素上点击时-->
<h1 onclick="this.innerHTML='谢谢!'">点击我会发生改变</h1>
<!--通过调用函数来改变-->
<script>
function changetext(id) {
id.innerHTML="标题已经被改变";
}
</script>
<h2 onclick="changetext(this)">点击我会通过调用函数来改变我</h2>
<!--也可通过点击按钮来实现-->
<button onclick="displayDate()">点我将会在下面显示时间</button>
<script>
function displayDate() {
document.getElementById("demo").innerHTML=Date();
}
</script>
<p id="demo"></p>
<!--JS向HTML元素分配事件-->
<button id="mybutton">点我触发事件</button>
<script>
document.getElementById("mybutton").onclick=function () {displayDate1()};
function displayDate1() {
document.getElementById("demo2").innerHTML=Date();
}
</script>
<p id="demo2"></p>
<!--onchange事件,一般结合对输入字段的验证来使用-->
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
}
</script>
请输入英文字符: <input type="text" id="fname" onchange="myFunction()" />
<p>当鼠标离开输入框点击其他地方时,会触发将输入文本转换为大写的函数</p>
<!--onmouseover和onmouseout事件-->
<!--以上两事件用于将用户的鼠标移至HTML元素或移出时触发事件-->
<div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:green; width: 120px; height: 20px; padding: 40px; color: #ffffff;">把鼠标移动这里我会发生改变</div>
<script>
function mOver(obj) {
obj.innerHTML="谢谢"
}
function mOut(obj) {
obj.innerHTML="把鼠标移到我这里会发生同样的改变"
}
</script>
<!--onmousedown\onmouseup\onclick事件-->
<div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:blue; color:#ffffff; width:180px; height:200px; padding:80px; font-size:24px;">点击我会发生改变,如果按住鼠标会有提示</div>
<script>
function mDown(obj) {
obj.style.backgroundColor="#1ec5e5";
obj.innerHTML="请释放鼠标按钮"
}
function mUp(obj) {
obj.style.backgroundColor="green";
obj.innerHTML="请按下鼠标按钮"
}
</script>
</body>
</html>