HTML语言中,全部是由标签(标记、tag)组成的。在浏览器内部解析HTML标记时,会转换为成具有特定结构的HTML文档对象模型,这个对象模型简称为DOM(Document Object Model)。
【document对象其实是window对象下的一个子对象,它操作的是HTML文档里所有的内容。事实上,浏览器每次打开一个窗口,就会为这个窗口生成一个window对象,并且会为这个窗口内部的页面(即HTML文档)自动生成一个document对象,然后我们就可以通过document对象来操作页面中所有的元素了。
window对象是浏览器为每个窗口创建的一个对象。通过window对象,我们可以操作窗口如打开窗口、关闭窗口、浏览器版本等,这些又被统称为“BOM(浏览器对象模型)”。
HTML DOM 是 HTML 的标准对象模型(object model)和编程接口(programming interface)。它定义了:
作为对象(objects)的 HTML 元素(elements)
所有 HTML 元素的属性(properties)
访问所有 HTML 元素的方法(methods)
所有 HTML 元素的事件(events)
】
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 DOM被结构化为对象树。JavaScript可以访问和更改HTML文档的所有元素。本文将介绍如何做到。
具体一点说,通过JavaScript代码,可以完成如下操作:
可以修改全部的HTML元素。
可对HTML元素的属性值进行修改。
可以修改HTML元素中的CSS样式,从而可以改变整个页面的样式风格。
可以让页面上的按钮产生事件,这样按钮就变的具有生动性,单击按钮可以做出反应。
这些操作的前提是要查找到操作的HTML元素,为了达成此目的,您需要首先找到这些元素。对于一个页面,我们想要对某个元素进行操作,就必须通过一定的方式来获取该元素,只有获取到了,才能对其进行相应的操作。完成此任务的可以使用document对象(Object)的方法(method):
getElementById()方法可返回对拥有指定 ID名的元素。
getElementsByClassName()方法返回文档中具有指定类名的所有元素的集合。【提示,请注意方法中“element”和“elements”是有区别的,后面没有“s”获取的仅仅是一个元素,后面有“s”获取的是多个元素(即集合),如果我们想得到某一个元素,也是使用数组下标的形式获取;而如getElementById()获取的是一个元素】
getElementsByName()方法返回文档中具有指定名称(name 属性的值)的所有元素的集合。
getElementsByTagName()方法返回文档中具有指定标记名的所有元素的集合。
querySelector()方法返回与文档中指定的CSS选择器匹配的第一个元素。
document.querySelectorAll()方法返回文档中匹配指定 CSS 选择器的所有元素,返回 NodeList 对象。
网页中,搜索方法的名字找到相关介绍的链接】
在JavaScript中,如果想通过id来选中元素,我们可以使用getElementById()来实现。
通过ID名查找HTML元素的例子,源码如下:
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过ID名查找HTML元素title>
- head>
- <body>
- <p id="pid">JavaScript通过ID名查找HTML元素p>
- <script>
- var oB = document.getElementById("pid");
- oB.style.color = "red";
- script>
- body>
- html>
保存文件名为:通过ID名查找HTML元素例.html,用浏览器打开测试效果如下:

通过ID名找到HTML元素修改的例子,源码如下:
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过ID名修改HTML元素title>
- <script>
- function fun(){
- var oB = document.getElementById("pid");
- oB.innerHTML="这是新文本"
- }
- script>
- head>
- <body>
- <p id="pid">原来文本p>
- <input id="button" type="button" value="点击" onclick="fun();">
- body>
- html>
保存文件名为:通过ID名查找HTML元素例.html,用浏览器打开测试效果如下:

document. getElementsByClassName("类名")
在JavaScript中,如果想通过class来选中元素,我们可以使用getElementsByClassName()方法来实现。
通过类名查找HTML元素的示例,源码如下:
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过类名查找HTML元素title>
- head>
- <body>
- <p class="select">HTMLp>
- <p class="select">CSSp>
- <p class="select">JavaScriptp>
- <p class="select">jQueryp>
- <script>
- var oB = document.getElementsByClassName("select");
- oB[2].style.color = "red";
- script>
- body>
- html>
保存文件名为:通过类名查找HTML元素例1.html,用浏览器打开测试效果如下:

通过类名查找HTML元素的示例改进版,使用了
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过类名查找HTML元素title>
- head>
- <body>
- <ul>
- <li class="select">HTMLli>
- <li class="select">CSSli>
- <li class="select">JavaScriptli>
- <li class="select">jQueryli>
- ul>
- <script>
- var oB = document.getElementsByClassName("select");
- oB[2].style.color = "red";
- script>
- body>
- html>
保存文件名为:通过类名查找HTML元素例2.html,用浏览器打开测试效果如下:

在JavaScript中,如果想通过标签名来选中元素,我们可以使用getElementsByTagName()方法来实现。
通过标签名来查找元素的例子,源码如下:
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过标签名查找HTML元素title>
- head>
- <body>
- <p>HTMLp>
- <p>CSSp>
- <p>JavaScriptp>
- <p>jQueryp>
- <script>
- var oB = document.getElementsByTagName("p");
- oB[2].style.color = "red";
- script>
- body>
- html>
保存文件名为:通过标签名查找HTML元素例.html,用浏览器打开测试效果如下:

querySelector()表示选取满足选择条件的第1个元素,querySelectorAll()表示选取满足条件的所有元素。
通过css选择器查找HTML元素的例子,源码如下:
- html>
- <html lang="zh">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width" />
- <title>通过css选择器查找HTML元素title>
- head>
- <body>
- <p>HTMLp>
- <p>CSSp>
- <p>JavaScriptp>
- <p>jQueryp>
- <button onclick="myFun1()">HTML变红button>
- <button onclick="myFun2()">JavaScript变蓝button>
- <script>
- function myFun1() {
- var oB = document.querySelector("p");
- oB.style.color = "red";
- }
- function myFun2() {
- var oB = document.querySelectorAll("p");
- oB[2].style.color = "blue";
- }
-
- script>
- body>
- html>
保存文件名为:通过css选择器查找HTML元素例html,用浏览器打开测试效果如下:

你可以单击网页上的按钮试试看。