小码哥的IT人生

JavaScript HTML DOM 元素

JavaScript基础 2022-04-25 01:51:10小码哥的IT人生shichen

JavaScript HTML DOM 元素

本章向您讲解如何查找和访问 HTML 页面中的 HTML 元素。

查找 HTML 元素

通常,通过 JavaScript,您需要操作 HTML 元素。

为了达成此目的,您需要首先找到这些元素。有好几种完成此任务的方法:

  1. 通过 id 查找 HTML 元素
  2. 通过标签名查找 HTML 元素
  3. 通过类名查找 HTML 元素
  4. 通过 CSS 选择器查找 HTML 元素
  5. 通过 HTML 对象集合查找 HTML 元素

通过 id 查找 HTML 元素

DOM 中查找 HTML 元素最简单的方法是,使用元素的 id。

本例查找 id="intro" 的元素:

示例代码:

var myElement = document.getElementById("intro");

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>通过 id 查找 HTML 元素</h1>
<p id="intro">Hello World!</p>
<p>本例演示 <b>getElementsById</b> 方法。</p>
<p id="demo"></p>
<script>
var myElement = document.getElementById("intro");
document.getElementById("demo").innerHTML = 
"来自 intro 段落的文本是:" + myElement.innerHTML;
</script>
</body>
</html>

运行结果:

通过 id 查找 HTML 元素

Hello World!

本例演示 getElementsById 方法。

来自 intro 段落的文本是:Hello World!

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

如果元素被找到,此方法会以对象返回该元素(在 myElement 中)。

如果未找到元素,myElement 将包含 null

通过标签名查找 HTML 元素

本例查找所有 <p> 元素:

示例代码:

var x = document.getElementsByTagName("p");

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>通过标签名查找 HTML 元素</h1>
<p>Hello World!</p>
<p>本例演示 <b>getElementsByTagName</b> 方法。</p>
<p id="demo"></p>
<script>
var x = document.getElementsByTagName("p");
document.getElementById("demo").innerHTML = 
'第一段中的文本 (index 0) 是:' + x[0].innerHTML;
</script>
</body>
</html>

运行结果:

通过标签名查找 HTML 元素

Hello World!

本例演示 getElementsByTagName 方法。

第一段中的文本 (index 0) 是:Hello World!

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

本例查找 id="main" 的元素,然后查找 "main" 中所有 <p> 元素:

示例代码:

var x = document.getElementById("main");
var y = x.getElementsByTagName("p"); 

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>通过标签名查找 HTML 元素</h1>
<div id="main">
<p>DOM 很有用。</p>
<p>本例演示 <b>getElementsByTagName</b> 方法。</p>
</div>
<p id="demo"></p>
<script>
var x = document.getElementById("main");
var y = x.getElementsByTagName("p");
document.getElementById("demo").innerHTML = 
'“main”中的第一段(索引 0)是:' + y[0].innerHTML;
</script>
</body>
</html>

运行结果:

通过标签名查找 HTML 元素

DOM 很有用。

本例演示 getElementsByTagName 方法。

“main”中的第一段(索引 0)是:DOM 很有用。

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

通过类名查找 HTML 元素

如果您需要找到拥有相同类名的所有 HTML 元素,请使用 getElementsByClassName()

本例返回包含 class="intro" 的所有元素的列表:

示例代码:

var x = document.getElementsByClassName("intro");

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>通过类名查找 HTML 元素</h1>
<p>Hello World!</p>
<p class="intro">DOM 很有用。</p>
<p class="intro">本例演示 <b>getElementsByClassName</b> 方法。</p>
<p id="demo"></p>
<script>
var x = document.getElementsByClassName("intro");
document.getElementById("demo").innerHTML = 
'class ="intro" 的第一段(索引 0):' + x[0].innerHTML;
</script>
</body>
</html>

运行结果:

通过类名查找 HTML 元素

Hello World!

DOM 很有用。

本例演示 getElementsByClassName 方法。

class ="intro" 的第一段(索引 0):DOM 很有用。

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

通过类名查找元素不适用于 Internet Explorer 8 及其更早版本。

通过 CSS 选择器查找 HTML 元素

如果您需要查找匹配指定 CSS 选择器(id、类名、类型、属性、属性值等等)的所有 HTML 元素,请使用 querySelectorAll() 方法。

本例返回 class="intro" 的所有 <p> 元素列表:

示例代码:

var x = document.querySelectorAll("p.intro");

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>按查询选择器查找 HTML 元素</h1>
<p>Hello World!</p>
<p class="intro">DOM 很有用。</p>
<p class="intro">本例演示 <b>querySelectorAll</b> 方法。</p>
<p id="demo"></p>
<script>
var x = document.querySelectorAll("p.intro");
document.getElementById("demo").innerHTML = 
'class ="intro" 的第一段(索引 0):' + x[0].innerHTML;
</script>
</body>
</html>

运行结果:

按查询选择器查找 HTML 元素

Hello World!

DOM 很有用。

本例演示 querySelectorAll 方法。

class ="intro" 的第一段(索引 0):DOM 很有用。

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

querySelectorAll() 不适用于 Internet Explorer 8 及其更早版本。

通过 HTML 对象选择器查找 HTML 对象

本例查找 id="frm1" 的 form 元素,在 forms 集合中,然后显示所有元素值:

示例代码:

var x = document.forms["frm1"];
var text = "";
 var i;
for (i = 0; i < x.length; i++) {
    text += x.elements[i].value + "<br>";
}
document.getElementById("demo").innerHTML = text;

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>使用 document.forms 查找 HTML 元素</h1>
<form id="frm1" action="/demo/demo_form.asp">
  First name: <input type="text" name="fname" value="Bill"><br>
  Last name: <input type="text" name="lname" value="Gates"><br><br>
  <input type="submit" value="提交">
</form> 
<p>单击“试一试”按钮,显示表单中每个元素的值。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.forms["frm1"];
  var text = "";
  var i;
  for (i = 0; i < x.length ;i++) {
    text += x.elements[i].value + "<br>";
  }
  document.getElementById("demo").innerHTML = text;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

以下 HTML 对象(和对象集合)也是可访问的:

  1. document.anchors
  2. document.body
  3. document.documentElement
  4. document.embeds
  5. document.forms
  6. document.head
  7. document.images
  8. document.links
  9. document.scripts
  10. document.title

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024