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>

 

posted @ 2016-09-13 22:45  aWolfMan  阅读(234)  评论(0编辑  收藏  举报