dom获取元素的方法

文章介绍了DOM中用于选取元素的各种方法,包括querySelector和querySelectorAll用于CSS选择器的选择,getElementById、getElementsByName、getElementsByTagName和getElementsByClassName按ID、名称、标签名和类名获取元素。同时,文章还提到了通过节点和元素导航来获取相关元素的方式。
摘要由CSDN通过智能技术生成


方法名搜索方式可以在元素上调用?实时的?
querySelectorCSS-selector×
querySelectorAllCSS-selector×
getElementByIdid××
getElementsByNamename×
getElementsByTagNametag/‘*’
getElementsByClassNameclass

eg:获取元素

  <div class="box">
    <span class="CLASS">1</span>
    <span class="CLASS">2</span>
    <span id="ID">3</span>
    <span name="NAME">4</span>
  </div>

1.通过选择器获取(常用)

querySelector

var classEL= document.querySelector(".CLASS")

结果:<span class="CLASS">1</span>

注意:
上下文可以是document,也可以是一个元素。
参数是选择器,如:“div .className”。
返回值只获取到一个元素。

querySelectorAll

var classEls = document.querySelectorAll(".CLASS")

结果:<span class="CLASS">1</span>
     <span class="CLASS">2</span>

注意:
上下文可以是document,也可以是一个元素。
参数是选择器,如:“div .className”。
返回值是一个类数组。

2.getElement(s)By*

getElementById

var idEl = document.getElementById("ID")

结果:<span id="ID">3</span>

注意:
上下文必须是document。
必须传参数,参数是元素的id属性。
返回值只获取到一个元素,没有找到返回null。

getElementsByName

var nameEl = document.getElementsByName("NAME")

注意:
上下文必须是document。
必须传参数,参数是元素的name属性。
返回值是一个类数组,没有找到返回空数组。

getElementsByTagName

var spanEl = document.getElementsByTagName("span")
var divEl = document.getElementsByTagName("div")

注意:
上下文可以是document,也可以是一个元素,注意这个元素一定要存在。
参数是元素的标签名属性,不区分大小写。
返回值是一个类数组,没有找到返回空数组。

getElementsByClassName

var classnameEls = document.getElementsByClassName("CLASS")

注意:
上下文可以是document,也可以是一个元素。
参数是元素的class属性。
返回值是一个类数组,没有找到返回空数组。

3.通过导航获取

//1.拿到body
var bodyEl = document.body

//2.拿到box
var boxEl = bodyEl.firstElementChild

//3.拿到ID
var idEl = boxEl.children[2]

知识点补充:

节点之间的导航:
1.概念:
如果我们获取到一个节点(Node)后,可以根据这个节点去获取其他的节点,我们称之为节点之间的导航。
2.节点之间关系:
父节点:parentNode
前兄弟节点:previousSibling
后兄弟节点:nextSibling
子节点:childNodes
第一个子节点:firstChild
第二个子节点:lastChild

元素之间的导航:
1.概念:
如果我们获取到一个元素(Element)后,可以根据这个元素去获取其他的元素,我们称之为元素之间的导航。
2.节点之间的关系:
父元素:parentElement
前兄弟节点:previousElementSibling
后兄弟节点:nextElementSibling
子节点:children
第一个子节点:firstElementChild
第二个子节点:lastElementChild

表格元素之间的导航:
1.<table> 元素支持 (除了上面给出的,之外) 以下这些属性:
table.rows — <tr> 元素的集合;
table.caption/tHead/tFoot — 引用元素 <caption><thead><tfoot>
table.tBodies — <tbody> 元素的集合;
2.<thead><tfoot><tbody> 元素提供了 rows 属性:
tbody.rows — 表格内部 <tr> 元素的集合;
3. <tr>
tr.cells — 在给定 <tr> 中的 <td><th> 单元格的集合;
tr.sectionRowIndex — 给定的 <tr> 在封闭的 <thead>/<tbody>/<tfoot> 中的位置(索引);
tr.rowIndex — 在整个表格中 <tr> 的编号(包括表格的所有行);
4. <td><th>
td.cellIndex — 在封闭的 <tr> 中单元格的编号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃炫迈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值