前端基础(七)_DOM元素获取(getElementById、getElementsByTagName、getElementsByClassName、querySelector等)

简介: 本文介绍了如何在前端通过不同的方法获取DOM元素,包括getElementById、getElementsByTagName、getElementsByClassName、querySelector和querySelectorAll。

一、通过id获取元素(一次一个元素)

一个id在一个页面是唯一的,所以我们可以使用

document.getElementById("id名")

获取元素,使用变量来接收,直接就能获取到这个元素,通过 id 名去获取元素,一次只能获取一个元素。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <script>
    var box = document.getElementById('box')
    console.log(box)
  </script>
</body>

</html>

在这里插入图片描述
直接能获取到这个元素。

二、通过标签名元素(一次多个元素)

通过标签名获取:

document.getElementsByTagName("标签名");

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <div class="Liuqing">Liuqing1</div>
  <div class="Liuqing">Liuqing2</div>
  <script>
    var box = document.getElementById('box')
    console.log(box)
    var Liuqing = document.getElementsByTagName('div')
    console.log(Liuqing, 'Liuqing')
    console.log(Liuqing[0], 'Liuqing[0]')
  </script>
</body>

</html>

在这里插入图片描述

通过

 var Liuqing = document.getElementsByTagName('div')

获取所有div标签元素,得到的是一个HTMLCollection数组,元素集合,然后去集合的第0项,也就是id名为box的元素。

三、通过类名元素(一次多个元素)

通过类名获取:

document.getElementsByClassName("类名");

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <div class="Liuqing">Liuqing1</div>
  <div class="Liuqing">Liuqing2</div>
  <script>
    var box = document.getElementById('box')
    console.log(box)
    var Liuqing = document.getElementsByClassName('Liuqing')
    console.log(Liuqing, 'Liuqing')
    console.log(Liuqing[0], 'Liuqing[0]')
  </script>
</body>

</html>

在这里插入图片描述
通过

 var Liuqing = document.getElementsByClassName('Liuqing')

获取所有class名称为Liuqing的标签元素,得到的是一个HTMLCollection数组,元素集合,然后去集合的第0项,也就是第一个calss名称为Liuqing的元素。

四、querySelector(获取第一个匹配成功的元素)

用法:

document.querySelector('类名(需要加.)|| id(需要加 #)||标签名')

注意:
获取第一个匹配成功的元素

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box">LiuQing</div>
  <div class="Liuqing">Liuqing1</div>
  <div class="Liuqing Liuqing2">Liuqing2</div>
  <script>
    var box = document.getElementById('box')
    console.log(box)
    var Liuqing1 = document.querySelector('.Liuqing')
    console.log(Liuqing1, 'Liuqing1')
    var Liuqing2 = document.querySelector('.Liuqing2')
    console.log(Liuqing2, 'Liuqing2')

  </script>
</body>

</html>

在这里插入图片描述

五、querySelectorAll(获取所有匹配成功的元素)

用法:

document.querySelector('类名(需要加.)|| id(需要加 #)||标签名')

注意:
获取所有匹配成功的元素

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LiuQing</title>
  <style>
    #box {
   
      background-color: red;
    }
  </style>
</head>

<body>
  <div id="box" class="Liuqing">
    <span class="smallSpan">
      span内容
    </span>
  </div>
  <div class="Liuqing">
    <span class="smallSpan">
      span内容
    </span>
  </div>
  <script>
    var Liuqing = document.querySelectorAll('.Liuqing .smallSpan')
    console.log(Liuqing, 'Liuqing')

  </script>
</body>

</html>

在这里插入图片描述
document.querySelectorAll中可以写选择样式,css中怎么写,这里就可以怎么写。

目录
相关文章
|
1天前
|
存储 前端开发 JavaScript
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
本文介绍了JavaScript变量的声明和使用、标识符的命名规则、如何获取和操作HTML元素,以及JavaScript的鼠标事件处理,通过示例代码展示了这些基础知识点在实际开发中的应用。
10 2
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
|
1天前
|
前端开发
前端基础(十四)_隐藏元素的方法
本文介绍了几种在前端开发中隐藏元素的方法,包括使用`display:none`、`visibility:hidden`、`opacity:0`等CSS属性,并提供了相应的示例代码。此外,还提到了其他隐藏元素的技巧,如通过设置元素位置、使用`overflow`属性和`filter`属性以及`rgba`颜色值来实现元素的隐藏。
12 1
前端基础(十四)_隐藏元素的方法
|
1天前
|
JavaScript 前端开发
前端基础(十)_Dom自定义属性(带案例)
本文介绍了DOM自定义属性的概念和使用方法,并通过案例展示了如何使用自定义属性来控制多个列表项点击变色的独立状态。
6 0
前端基础(十)_Dom自定义属性(带案例)
|
3天前
|
JavaScript
Vue3基础(十wu)___ref获取原生dom元素
本文介绍了Vue3中使用`ref`来获取和操作原生DOM元素的方法,通过示例展示了如何通过`.value`改变元素的样式。
10 0
Vue3基础(十wu)___ref获取原生dom元素
|
22天前
|
前端开发 JavaScript
前端ES5 | js —添加元素方法
前端ES5 | js —添加元素方法
|
1天前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
4 0
|
1月前
|
JavaScript 前端开发 编译器
纯前端如何实现批量dom转图片,并下载成压缩包
【8月更文挑战第22天】纯前端如何实现批量dom转图片,并下载成压缩包
51 0
|
13天前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
1月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
24 0
|
3月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
71 2