如果正向解析,为什么要先找到最上层的div,直接找到所有的div不行吗
4.如果正向解析,例如「div div p em」,我们首先就要检查当前元素到 html 的整条路径, 找到最上层的 div,再往下找,如果遇到不匹配就必须回到最上层那个 div, 往下再去匹配选择器中的第一个 div,回溯若干次才能确定匹配与否,效率很低。 5.逆向匹配则不同,如果当前的 DOM 元素是 div,而不是 selector 最后的 em, 那只要一步就能排除。只有在匹配时,才会不断向上找父节点进行验证。
正向解析,也可以先找到所有的div,如果不匹配,第一步就可以排除掉不匹配的div,这样子也不用回溯啊