html结构如下:

    1. <div>
    2.     <div>this is out1</div>
    3.     <div>this is out2</div>
    4.     <div>this is out3</div>
    5.     <div>this is out4</div>
    6.     <div id='wrapper'>
    7.         <div>this is inner1</div>
    8.         <div>this is inner2</div>
    9.         <div>this is inner3</div>
    10.         <div class='inner'>
    11.             <div>this is inner inner 1</div>
    12.         </div>
    13.     </div>
    14. </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个已经标注出来了:

    回到顶部
    我要评论

    所有评论

      相关文章