原生JS-DOM操作获取元素的四种方法

目录

一.getElementById获取元素

二.getElementsByTagName()获取元素

 三.HTML5新增方法获取元素

四.获取body、html元素


一.getElementById获取元素

这个方法需要根据ID来获取,使用getElementById()可以获取到带有ID属性的元素对象

我们来举一个例子:

<div id='hello-JS'>你好JS</div>

这是一段HTML代码,有这样一个带有ID属性的div元素,我们通过getElementById()方法来获取一下:

const test = document.getElementById('hello-JS')

console.log(test)

我们看到打印出来的是一个完整的标签,我们来看一下返回值的类型:

//dir打印我们返回的元素对象,比较log更好的去查看里面的属性和方法
//当然,如果是简单的测试的话,那么用什么都可以
console.dir(test)
//检测类型
console.log(typeof text)

 返回值是一个obj对象


二.getElementsByTagName()获取元素

getElementByTagName()方法是根据标签名来获取元素,方法可以返回带有指定标签名的对象集合,意思就是我们可以获取到很多的指定标签名的元素

例如我们在ul标签中又10个li:

<ul id="hello">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>

我们想要获得到ul里面的li:

const test = document.getElementById('hello')
const lis =  test.getElementsByTagName('li')
console.dir(lis)
console.log(lis[6])
console.log(lis);

 我们通过控制台得到了获取过来的元素对象的集合,它是以一种伪数组的形式来存储的

我们还可以使用for循环来遍历一下:

for(let i = 0;i < lis.length;i++){
    console.log(lis[i]);
}

tips:如果ul中只有一个li,返回的还是伪数组,如果没有li的话,那么返回的是一个空伪数组,并不会报错或者undefined等


 三.HTML5新增方法获取元素

是有一些兼容性问题的(只有I9以上版本或者移动端),不过如今我们一般情况下不会考虑这些兼容问题

我们可以使用这个方法来根据类名返回元素对象集合:

document.getElementByClassName('类名')
//不需要加.来指定类

比如我们现在想要获取ul:

<ul id="hello" class="test"></ul>
<ul></ul>
document.getElementByClassName('.test')

我们还可以使用querySelector()方法来获取元素,这个方法不仅仅单一的可以获取类名或者ID名或者元素标签,这三种都可以获取到:

document.querySelector('选择器')

//只能获取到第一个ul
document.querySelector('ul')

document.querySelector('#hello')
document.querySelector('.test')


//返回指定选择器所有元素
const test = querySelectorAll('ul')

四.获取body、html元素

虽然不是window这样的顶级对象,但是获取这俩个较大的对象我们也有相应的获取方式:

//获取body元素
document.body

//获取html元素
document.documentElement
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Try Tomato

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

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

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

打赏作者

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

抵扣说明:

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

余额充值