JavaScript HTML DOM
查找 HTML 元素
通常,通过 JavaScript,您需要操作 HTML 元素。
为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:
- 通过 id 找到 HTML 元素
- 通过标签名找到 HTML 元素
- 通过类名找到 HTML 元素
通过 id 查找 HTML 元素
在 DOM 中查找 HTML 元素的最简单的方法,是通过使用元素的 id。
1 <!DOCTYPE html>
2 <html>
3 <body>
4
5 <p id="intro">Hello World!</p>
6 <p>本例演示 <b>getElementById</b> 方法!</p>
7
8 <script>
9 x=document.getElementById("intro");
10 document.write('<p>id="intro" 的段落中的文本是:' + x.innerHTML + '</p>');
11 </script>
12
13 </body>
14 </html>
通过标签名查找 HTML 元素
实例
本例查找 id="main" 的元素,然后查找 "main" 中的所有 <p> 元素:
1 <!DOCTYPE html>
2 <html>
3 <body>
4
5 <p>Hello World!</p>
6
7 <div id="main">
8 <p>The DOM is very useful.</p>
9 <p>本例演示 <b>getElementsByTagName</b> 方法。</p>
10 </div>
11
12 <script>
13 var x=document.getElementById("main");
14 var y=x.getElementsByTagName("p");
15 document.write('id 为 "main" 的 div 中的第一段文本是:' + y[0].innerHTML);
16 </script>
17
18 </body>
19 </html>
改变 HTML 内容
修改 HTML 内容的最简单的方法时使用 innerHTML 属性。
如需改变 HTML 元素的内容,请使用这个语法:
document.getElementById(id).innerHTML=new HTML
1 <!DOCTYPE html>
2 <html>
3 <body>
4
5 <p id="p1">Hello World!</p>
6
7 <script>
8 document.getElementById("p1").innerHTML="New text!";
9 </script>
10
11 <p>上面的段落被一条 JavaScript 脚本修改了。</p>
12
13 </body>
14 </html>
改变 HTML 属性
如需改变 HTML 元素的属性,请使用这个语法:
document.getElementById(id).attribute=new value
1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <img id="image" src="smiley.gif"> 6 7 <script> 8 document.getElementById("image").src="landscape.jpg"; 9 </script> 10 11 </body> 12 </html>
onchange 事件
onchange 事件常结合对输入字段的验证来使用。
下面是一个如何使用 onchange 的例子。当用户改变输入字段的内容时,会调用 upperCase() 函数。
实例
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script> 5 function myFunction() 6 { 7 var x=document.getElementById("fname"); 8 x.value=x.value.toUpperCase(); 9 } 10 </script> 11 </head> 12 <body> 13 14 请输入英文字符:<input type="text" id="fname" onchange="myFunction()"> 15 <p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p> 16 17 </body> 18 </html>
请输入英文字符:
当您离开输入字段时,会触发将输入文本转换为大写的函数。
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
实例
一个简单的 onmouseover-onmouseout 实例:
1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:green;width:120px;height:20px;padding:40px;color:#ffffff;">把鼠标移到上面</div> 6 7 <script> 8 function mOver(obj) 9 { 10 obj.innerHTML="谢谢" 11 } 12 13 function mOut(obj) 14 { 15 obj.innerHTML="把鼠标移到上面" 16 } 17 </script> 18 19 </body> 20 </html>
onmousedown、onmouseup 以及 onclick 事件
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
实例
一个简单的 onmousedown-onmouseup 实例:
1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:green;color:#ffffff;width:90px;height:20px;padding:40px;font-size:15px;">请点击这里</div> 6 7 <script> 8 function mDown(obj) 9 { 10 obj.style.backgroundColor="#1ec5e5"; 11 obj.innerHTML="请释放鼠标按钮" 12 } 13 14 function mUp(obj) 15 { 16 obj.style.backgroundColor="green"; 17 obj.innerHTML="请按下鼠标按钮" 18 } 19 </script> 20 21 </body> 22 </html>
onfocus
当输入字段获得焦点时,改变其背景色。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <script> 5 function myFunction(x) 6 { 7 x.style.background="yellow"; 8 } 9 </script> 10 </head> 11 <body> 12 13 请输入英文字符:<input type="text" onfocus="myFunction(this)"> 14 15 <p>当输入字段获得焦点时,会触发改变背景颜色的函数。</p> 16 17 </body> 18 </html>