js中的原生元素选择器

2 篇文章 0 订阅
1 篇文章 0 订阅

当我们想要选择dom中的元素时,第一个想到的就是document.getElementById()和document.getElementsByTagName(),还有针对表单的document.getElementsByName();

在h5中我们又有了类选择器:getElementsByClassName(),但这个方法不兼容IE8及以下,我么在使用时还是需要写一个兼容的函数,因为现在还是很多IE8的,至于为什么不考虑IE8以下,呵呵,我给你一个眼神,自己体会。

但在前几天我突然看到书上的两个选择器querySelect()和querySelectAll(),发现他们竟然兼容IE8,这个真的是太棒了。

他们的用法和getElement用法是一样的,但是选择符适合JQuery一样的!:

复制代码

<ul>
    <li class="aa"></li>
    <li class ="a"></li>
    <li class="b aa"></li>
    <li class="aa"></li>
 <li id="a"></li>
</ul>

复制代码
我们使用querySelect()

        console.log(document.querySelector('#a'));
        console.log(document.querySelector('.a'));
        console.log(document.querySelector('.aa'));

我们发现输出的是

<li id="a"></li>,<li class = 'a'></li>,<li class="aa"></li>

这说明querySelector()选择的只是所有中的第一个元素,而且返回的是元素对象,不是数组。

使用querySelectAll()

console.log(document.querySelectorAll('#a'));
console.log(document.querySelectorAll('.a'));
console.log(document.querySelectorAll('.aa'));
这时输出的是[li#a],[li.a],[li.aa,li.b.aa,li.aa];

这说明querySelector()选择的是所有符合条件的元素,并返回数组。

因为这两个方法兼容IE8所以可以大胆的使用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值