目录

一.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)

javascript获取元素id js获取元素的三种方法_javascript

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

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

javascript获取元素id js获取元素的三种方法_获取元素_02

 返回值是一个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);

javascript获取元素id js获取元素的三种方法_javascript_03

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

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

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

javascript获取元素id js获取元素的三种方法_document文档_04

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