通过节点获取元素相关问
在js里面,获取元素的方法有很多种
有通过id,class,标签名,还有querySelector
但每个元素都是这样获取的话,就会显得很繁琐,而且代码看起来也不好看
为了代码显得容易看懂,我们可以通过节点来获取元素,利用标签的层级关系来获取元素
上代码
<ul class='ul'>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
以往我们要获取li标签的话一般这样吧
document.querySelector('ul').querySelectorAll("li")
这样看起来代码也简洁而且不繁琐啊,但是当整个页面的代码多起来就会显得很乱,而且很容易出错,出来bug也很难维护
为了解决这个问题我们可以利用标签的层级关系来获取元素
首先获取我们的ul
const l = document.querySelector('.ul')
再来获取ul的子元素
console.log(l.children)
打印结果是
这样就可以获取ul里面的子元素了
而且我们也可以只获取其中的某一个元素
如获取第一个
console.log(l.children[0])
获取最后一个
console.log(l.children[l.children.length-1])
我们可以直接通过children的下标值来获取第几个子元素