首页 > 代码库 > JavaScript HTML DOM

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 和 onm ouseout 事件

onmouseover 和 onm ouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。

实例

一个简单的 onm ouseover-onmouseout 实例:

 1 <!DOCTYPE html> 2 <html> 3 <body> 4  5 <div onmouseover="mOver(this)" onm ouseout="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, onm ouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onm ousedown 事件,当释放鼠标按钮时,会触发 onm ouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

实例

一个简单的 onm ousedown-onmouseup 实例:

 1 <!DOCTYPE html> 2 <html> 3 <body> 4  5 <div onmousedown="mDown(this)" onm ouseup="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>

 

JavaScript HTML DOM