JavaScript如何查找和访问HTML页面中的HTML元素

JavaScript如何查找和访问HTML页面中的HTML元素

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 对象。

【可在HTML DOM Document 对象

Document - Web API 接口参考 | MDN

网页中,搜索方法的名字找到相关介绍的链接】

document.getElementById("id名")

在JavaScript中,如果想通过id来选中元素,我们可以使用getElementById()来实现。

通过ID名查找HTML元素的例子,源码如下:

<!DOCTYPE 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元素修改的例子,源码如下:

<!DOCTYPE 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元素的示例,源码如下:

 

<!DOCTYPE html> 
<html lang="zh">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" /> 
    <title>通过类名查找HTML元素</title>
</head>
<body>
   <p class="select">HTML</p>
   <p class="select">CSS</p>
   <p class="select">JavaScript</p>
   <p class="select">jQuery</p>
<script>
    var oB =  document.getElementsByClassName("select");
    oB[2].style.color = "red";
</script> 
</body>
</html>

保存文件名为:通过类名查找HTML元素例1.html,用浏览器打开测试效果如下:

通过类名查找HTML元素的示例改进版,使用了<ul>、<li>标签,源码如下:

 

<!DOCTYPE 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">HTML</li>
        <li class="select">CSS</li>
        <li class="select">JavaScript</li>
        <li class="select">jQuery</li>
</ul>
<script>
    var oB =  document.getElementsByClassName("select");
    oB[2].style.color = "red";
</script> 
</body>
</html>

 

保存文件名为:通过类名查找HTML元素例2.html,用浏览器打开测试效果如下:

document. getElementsByTagName("标签名")

在JavaScript中,如果想通过标签名来选中元素,我们可以使用getElementsByTagName()方法来实现。

通过标签名来查找元素的例子,源码如下:

 

<!DOCTYPE html> 
<html lang="zh">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" /> 
    <title>通过标签名查找HTML元素</title>
</head>
<body>
   <p>HTML</p>
   <p>CSS</p>
   <p>JavaScript</p>
   <p>jQuery</p>
<script>
    var oB = document.getElementsByTagName("p");
    oB[2].style.color = "red";
</script> 
</body>
</html>

保存文件名为:通过标签名查找HTML元素例.html,用浏览器打开测试效果如下:

document.querySelector("选择器")和document.querySelectorAll("选择器")

querySelector()表示选取满足选择条件的第1个元素,querySelectorAll()表示选取满足条件的所有元素。

通过css选择器查找HTML元素的例子,源码如下:

<!DOCTYPE html> 
<html lang="zh">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" /> 
    <title>通过css选择器查找HTML元素</title>
</head>
<body>
   <p>HTML</p>
   <p>CSS</p>
   <p>JavaScript</p>
   <p>jQuery</p>
   <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,用浏览器打开测试效果如下:

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

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值