当前位置:网站首页>JS操作dom元素(一)——获取DOM节点的六种方式
JS操作dom元素(一)——获取DOM节点的六种方式
2022-07-06 12:51:00 【viceen】
JS操作dom元素(一)——获取DOM节点的六种方式
js获取Dom节点常见的方法:元素节点,属性节点,文本节点。
- 通过ID获取(getElementById)
- 通过name属性(getElementsByName)
- 通过标签名(getElementsByTagName)
- 通过类名(getElementsByClassName)
- 通过选择器获取一个元素(querySelector)
- 通过选择器获取一组元素(querySelectorAll)
- 获取html的方法(document.documentElement)
document.documentElement是专门获取html这个标签的 - 获取body的方法(document.body) document.body是专门获取body这个标签的。
1.getElementById() — id选中元素
var getid=document.getElementById('id名字')
2.getElementsByClassName() — 类名选中元素
var getclass=document.getElementsByClassName('类名')
3.getElementsByTagName() — 标签名选中元素
var gettag=document.getElementsByTagName('标签名')
4.getElementsByName() — 通过name属性获取元素
var getname=document.getElementsByName('name名')
下面获取元素括号中的写法和css的选择器写法相同
5.querySelector() — 精准的获取某个元素
var f=document.querySelector("#tabelList li:nth-child(2)")
6.querySelectorAll()获取符合类名或者标签名等条件的的所有元素
var g=document.querySelectorAll('.box p>span')
1、getElementById() — 通过id选中元素
上下文必须是document。
必须传参数,参数是string类型,是获取元素的id。
返回值只获取到一个元素,没有找到返回null。
function func() {
var selectId = document.getElementById("id名字");
selectId.style.color = "blue";
}
func();
2、getElementsByName — 通过name属性获取元素
一般使用在表单元素中
上下文必须是document。内容
必须传参数,参数是是获取元素的name属性。
返回值是一个类数组,没有找到返回空数组。
function funa() {
var selectDiv = document.getElementsByName("status");
selectDiv[0].checked = true;
// 此时selectDiv是NodeList节点对象
// console.log(selectDiv)
}
funa()
document.getElementsByName('name')
3、getElementsByTagName() — 通过标签名选中元素
上下文可以是document,也可以是一个元素,注意这个元素一定要存在。
参数是是获取元素的标签名属性,不区分大小写。
返回值是一个类数组,没有找到返回空数组
function func() {
var selectTag = document.getElementsByTagName("标签名");
selectTag.style.color = "blue";
}
func();
var obj = document.getElementsByTagName('div');
for(let i = 0; i<obj.length; i++){
obj[i].onclick = function(e){
console.log(i)
}
}
4、getElementsByClassName() — 通过类名选中元素
上下文可以是document,也可以是一个元素。
参数是元素的类名。
返回值是一个类数组,没有找到返回空数组。
function func() {
var selectClass = document.getElementsByClassName("类名");
selectClass.style.color = "blue";
}
func();
var obj1 = document.getElementsByClassName('animated')
// console.log
0:div.app.animated
1:div#login.login.animated.rubberBand
2:div#reg.reg.animated.shake
3:div#kefu.kefu.animated.swing
4:div#LoginState.state.animated.bounce
5:div.loginState.animated
6:div.regState.animated
7:div.pop.animated
4、querySelector和queryselectorAll
获取元素括号中的写法和css的选择器写法相同
5-1 querySelector() — 精准的获取某个元素
上下文可以是document,也可以是一个元素。
参数是选择器,如:”div .className”。
返回值只获取到第一个元素。
function funb() {
var selectDiv = document.querySelector("#list li:nth-child(3)");
selectDiv.style.color = "red";
// console.log(selectDiv)
}
funb()
document.querySelector('.animated')
5-2 queryselectorAll() —通过选择器获取一组元素
获取符合类名或者标签名等条件的的所有元素
上下文可以是document,也可以是一个元素。
参数是选择器,如:”div .className”。
返回值是一个类数组。
function func() {
var selectDiv = document.querySelectorAll(".text ul>li");
//此时selectDiv是一个数组,存放着li
selectDiv[0].style.color = "red";
//打印出为NodeList对象 -- 是节点的集合,可以使用 Array.from() 将其转换为数组
console.log(selectDiv)
}
func()
document.querySelector('.animated')
6、document.title和document.body
function fund() {
document.title = "这是title元素";
document.body.innerHTML = "<p style='color: red'>这是body元素</p>";
}
注:getElementByTagName可以操作动态创建的Dom,而getElementById不可以
边栏推荐
- 请问sql group by 语句问题
- 自定义限流注解
- Infrared thermometer based on STM32 single chip microcomputer (with face detection)
- [DSP] [Part 1] start DSP learning
- None of the strongest kings in the monitoring industry!
- KDD 2022 | 通过知识增强的提示学习实现统一的对话式推荐
- Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
- What are RDB and AOF
- Intel 48 core new Xeon run point exposure: unexpected results against AMD zen3 in 3D cache
- Interviewer: what is the internal implementation of ordered collection in redis?
猜你喜欢

How to upgrade high value-added links in the textile and clothing industry? APS to help
![[DIY]如何制作一款个性的收音机](/img/fc/a371322258131d1dc617ce18490baf.jpg)
[DIY]如何制作一款个性的收音机

【mysql】游标的基本使用

##无yum源安装spug监控

KDD 2022 | 通过知识增强的提示学习实现统一的对话式推荐

3D face reconstruction: from basic knowledge to recognition / reconstruction methods!

全网最全的知识库管理工具综合评测和推荐:FlowUs、Baklib、简道云、ONES Wiki 、PingCode、Seed、MeBox、亿方云、智米云、搜阅云、天翎

知识图谱构建流程步骤详解

Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices

1_ Introduction to go language
随机推荐
KDD 2022 | 通过知识增强的提示学习实现统一的对话式推荐
OAI 5G NR+USRP B210安装搭建
Intel 48 core new Xeon run point exposure: unexpected results against AMD zen3 in 3D cache
【论文解读】用于白内障分级/分类的机器学习技术
3D人脸重建:从基础知识到识别/重建方法!
Value of APS application in food industry
Swagger UI tutorial API document artifact
967- letter combination of telephone number
C language games - three chess
Introduction to the use of SAP Fiori application index tool and SAP Fiori tools
新型数据库、多维表格平台盘点 Notion、FlowUs、Airtable、SeaTable、维格表 Vika、飞书多维表格、黑帕云、织信 Informat、语雀
Pycharm remote execution
Reinforcement learning - learning notes 5 | alphago
ICML 2022 | Flowformer: 任务通用的线性复杂度Transformer
R語言可視化兩個以上的分類(類別)變量之間的關系、使用vcd包中的Mosaic函數創建馬賽克圖( Mosaic plots)、分別可視化兩個、三個、四個分類變量的關系的馬賽克圖
2022菲尔兹奖揭晓!首位韩裔许埈珥上榜,四位80后得奖,乌克兰女数学家成史上唯二获奖女性
Entity alignment two of knowledge map
c#使用oracle存储过程获取结果集实例
知识图谱之实体对齐二
How to implement common frameworks