html结构如下:

<div>
    <div>this is out1</div>
    <div>this is out2</div>
    <div>this is out3</div>
    <div>this is out4</div>
    <div id='wrapper'>
        <div>this is inner1</div>
        <div>this is inner2</div>
        <div>this is inner3</div>
        <div class='inner'>
            <div>this is inner inner 1</div>
        </div>
    </div>
</div>

请问document.querySelectorAll('#wrapper div div').length和document.getElementById('wrapper').querySelectorAll('div div').length是多少?

问题分析

document.querySelectorAll('#wrapper div div').length这个很容易知道是1,表示#wrapper下面的div下面的div,符合条件的很明显只有一个。

但是注意document.getElementById('wrapper').querySelectorAll('div div').length返回的是5,为什么呢?因为如果看的是#wrapper下面的div下面的div,那么是1,但是这里其实是从#wrapper开始算的,因为#wrapper本身就是div,所以它下面的四个直属div都符合条件,另外有一个还内嵌了一个div,也符合条件,因此有5个。具体的5个已经标注出来了:

回到顶部
我要评论

所有评论

返回
邮箱:
绑定
取消
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

邮箱:
绑定邮箱后,若有回复,会邮件通知。
提交
还可以输入500个字