// unoptimized
$('div.data .gonzalez');

// optimized
$('.data td.gonzalez');

Quote Source
  • 有人可以解释为什么不太具体的左侧作为CSS选择器更快吗?
  • 这是Sizzle还是对document.querySelectorAll适用?
  • 在CSS文件中使用“类似优化”的CSS选择器可以提高速度吗?
  • 最佳答案

    jQuery的Sizzle Engine从右到左解析选择器,这是事实。但是,有异常(exception),例如,当第一个操作数是ID时。然后,搜索将在具有此ID的元素的上下文中进行。这是Sizzle Engine的特殊性,但我不知道如何实现querySelectorForAll。

    一个例子:

    $('div.data .gonzalez');
    

    Sizzle将使用gonzalez类获取所有DOM元素,然后检查每个祖先是否是带有类数据的div标签

    07-26 05:45