jquery children()是否从右向左读取?

jquery children()是否从右向左读取?,jquery,Jquery,如果,在css上,我们有: #divitis>* 因此我相信,它(浏览器)将开始读取所有元素,然后检查#divitis元素,因此,它将从右向左移动 比照。 我的问题是: 当我们执行以下操作时,是否有人知道children()jquery函数的工作方式是否类似: $('#divitis').children() 它能从右向左工作吗 检查子对象的子对象的所有元素 检查作为子元素的子元素的所有元素 检查所有子元素 抓住#divitis的第一个孩子 或者,从左到右: 扫描所有元素并从#div

如果,在css上,我们有:

#divitis>*
因此我相信,它(浏览器)将开始读取所有元素,然后检查#divitis元素,因此,它将从右向左移动

比照。

我的问题是:

当我们执行以下操作时,是否有人知道
children()
jquery函数的工作方式是否类似:

$('#divitis').children()
它能从右向左工作吗

  • 检查子对象的子对象的所有元素
  • 检查作为子元素的子元素的所有元素
  • 检查所有子元素
  • 抓住#divitis的第一个孩子 或者,从左到右:

  • 扫描所有元素并从#divitis搜索
  • 首先扫描divitis患儿 提前感谢。

    .children()
    将只查看选择器的直接子级。 您需要的是
    .find()
    ,根据我的经验,它将“按顺序”遍历DOM树,即从“左”到“右”,意思是先直接遍历子对象,然后遍历子对象的子对象,依此类推


    添加了一点JSFIDLE进行澄清:

    在您编写的
    $(“#divitis”).children()
    中,实际上有两个不同的选择器,即
    \divitis
    *

    但是,由于两个jQuery函数调用严格按照正常的求值顺序进行,因此将首先求值
    #divitis
    选择器,然后求值
    *

    因此,如果它只是作为包含
    #divitis>*
    的单个选择器编写,则顺序与此相反

    也就是说,浏览器选择R->L而不是L->R的原因在这里并不适用

    当应用CSS样式表时,基于每个选择器最右边的元素跳过CSS样式表中不匹配的单个规则比基于最左边的元素更有效


    不过,在这里,您是在以编程方式“编写一条规则”,因此没有需要跳过的“其他规则”。

    恐怕您问的问题不太清楚。
    children()
    不是选择器。你的意思是你想从右到左阅读哪一位?我不知道从右到左(因为DOM是从上到下排列的),但是一些快速测试会建议它从上到下(DOM的自然流)进行阅读。也许这会帮助你复制我仍然不明白的内容,抱歉。你说过浏览器选择R->L而不是L->R的原因不适用。但是你也说拥有
    $('#divitis>*')
    $('#divitis').children()的顺序相反。。。最后,我不知道它的工作原理是否不同。对不起,我的英语不是很熟练。第一杯,我会说,
    #divitis>*
    可能比
    $(“#divitis”)慢。children()
    @MEM这将是我的评估-
    #divitis>*
    #divitis.children()慢。R->L顺序允许浏览器简单地丢弃不匹配的CSS规则。在jQuery代码行中没有“不匹配”规则,只有一个“规则”。