搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Monodyee
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
如何蹭ChatGPT热度发一篇顶会?(附论文+电子书籍)
2
mac设置环境变量.bash_profile 或 /usr/local_mac .bash_profile在哪里
3
APP安卓开发之Android Studio从安装到创建项目(一键解决gradle下载缓慢以及写代码没提示问题,包含如何创建手机模拟器)教程_android stuido 搭建一个项目
4
docker部署访问postgres数据库(一次到位)_用虚拟机安装的docker pull报错 connection reset by peer
5
MYSQL索引创建时机和不适用的时机
6
GRU 门控循环单元_gru重置门和更新门
7
【大模型】大模型发展历程,从GPT开始到Grok-1.5霸榜
8
国内外各大免费搜索引擎、导航网址提交入口_农夫导航
9
SpringBoot 实现跨域的六种方式_springboot设置跨域
10
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结_stm32智能跟随小车
当前位置:
article
> 正文
css css选择器的解析是从右往左的_span 从右向左
作者:Monodyee | 2024-04-16 06:17:35
赞
踩
span 从右向左
为什么从右往左的解析方法效率更高呢
如图:
假如 DOM 的结构如上图,匹配规则是 .mod-nav h3 span。
若从左向右的匹配,过程是:从 .mod-nav 开始,遍历子节点 header 和子节点 div,然后各自向子节点遍历。在右侧 div 的分支中,最后遍历到叶子节点 a ,发现不符合规则,需要回溯到 ul 节点,再遍历下一个 li-a,假如有 1000 个 li,则这 1000 次的遍历与回溯会损失很多性能。
再看看从右至左的匹配:先找到所有的最右节点 span,对于每一个 span,向上寻找节点 h3,由 h3再向上寻找 class=“mod-nav” 的节点,最后找到根元素 html 则结束这个分支的遍历。
很明显,两种匹配规则的性能差别很大。之所以会差别很大,是因为
从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点)
;而
从左向右的匹配规则的性能都浪费在了失败的查找上面
。
当然这是比较明显情况,如果在叶子上存在多个不符合条件的 span,从右向左的规则也会走一些弯路(这时就需要优化 CSS 选择器了)。但平均来说它还是更高效,因为
大多时候,一个 DOM 树中,符合匹配条件的节点(如 .mod-nav h3 span)远少于不符合条件的节点。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Monodyee/article/detail/432761
推荐阅读
article
flutter
顶部导航栏
TabBarView
自定义
下划线
的
宽度
和圆角_
flutter
tabba...
flutter
自带的appbar框架无法
自定义
下划线
的
宽度
和圆角,需要
自定义
,如下MyUnderlineTabIndic...
赞
踩
article
动态
规划——
01
背包
,
完全
背包
,
力扣
题型讲解...
本文带你解决
力扣
上所有典型的
背包
问题,通俗易懂的讲解。_
01
背包
01
背包
目录 ...
赞
踩
article
python3.4安装
scrapy
的各种坑_stor
in
g
debug
log
for failur...
今天真的是要死要死的,python装一个
scrapy
也是各种麻烦,调了半天,现在把坑贴出来python3如果直接装真的是...
赞
踩
article
解决项目提示 Cannot
change
version
of
project
facet
Dyna...
首先想要说的就是问题的来源,之前学习spring flow的时候,从网上找了一个spizza的一个工程,但是导入到自己的...
赞
踩
article
python
flask
p5.
js
mysql
实现
数据
库
查询
并网页显示
数据
(后附完整代码分享)_...
tips:不涉及session,是纯简单
数据
共享。_
flask
搜索框
查询
并显示
flask
搜索框
查询
并显示 ...
赞
踩
article
【
YOLOv8
改进】
AFPN
:
渐进
特征
金字塔
网络
(论文笔记+引入代码).md_
渐进
式
特征
金字塔
...
在目标检测任务中,多尺度
特征
对于编码具有尺度变化的对象至关重要。采用经典的自顶向下和自底向上
特征
金字塔
网络
是提取多尺度特...
赞
踩
article
基于
flask
框架爱
学习
分享
平台
(
python
+mysql+论文)_基于
flask
的
学习
助手...
爱
学习
分享
平台
的建设将有助于提高
学习
资源的利用效率,降低
学习
成本。总之,爱
学习
分享
平台
的建设将为
学习
者提供一个便捷、高效...
赞
踩
article
文心
一
言
的
高效使
用
方法及技巧_
文心
一
言
怎么
用
...
在开始使
用
文心
一
言
之前,明确您
的
需求和目标。了解您需要解决
的
问题或要完成
的
任务,以便更好地利
用
文心
一
言
的
功能。_
文心
一
言
...
赞
踩
article
题目59
考勤记录
(
ok
)_公司用一个
字符串
来表示员工的
出勤
信息
:
absent
:
缺勤
...
公司用一个
字符串
来标识员工的
出勤
信息
absent
:
缺勤
late
:
迟到leaveearly
:
早退present
:
正常...
赞
踩
article
mysql
外键
删除
时更新时类型...
1、NO ACTION:当在父表中
删除
/更新对应记录时,首先检查该记录是否有对应
外键
,如果有则不允许
删除
/更新。2、RE...
赞
踩
article
【云原生篇】深入理解K8S
CNI
、
CRI
和
CSI
_
csi
和
cni...
在 Kubernetes (K8s) 生态系统中,
CNI
、
CRI
和
CSI
是三个关键的接口,它们分别代表 Conta...
赞
踩
article
Linux
开源桌面-
OpenFDE
技术解析(一) :
我们
是
如何让
安卓
应用
在
linux
上顺畅
运行
的?...
但
Linux
的X11类
应用
还
是
运行
在
linux
系统中,
我们
是
通过
运行
在FDE中的vnc client将
Linux
X11...
赞
踩
article
JavaSE
数据类型
与运算符_找出能被
num1
或
num2
整除的大于
long
.
max
_
value
...
JavaSE
基本
数据类型
Java是一种强类型语言,因此对于Java中的每一个变量都要声明一种类型。编写程序时,应在满足 ...
赞
踩
article
Pytorch
与
keras
的
差别_
keras
和
pytorch
...
20220825 -在前期,一直是使用
keras
进行深度学习相关
的
编程,但后来由于学习各种其他源码
的
缘故,也学习了pyt...
赞
踩
article
Android
studio
获取和上传数据(
新版
onenet
)
_
新版
onenet
android
...
n旧版用的秘钥和
新版
的不一样,网上找到的实际例子很少,大家可以跟着参考一下。
_
新版
onenet
android
新版
one...
赞
踩
article
算法
篇——动态规划
01
背包
问题
(
js
版)
_
js
背包
算法
...
更新一部分新题~
_
js
背包
算法
js
背包
算法
416. 分割等和子集 给你一个 只包含正...
赞
踩
article
第四章_
路由
概念_
路由
器
是
包含
以下运行所需
组件
的指定
计算机
( )...
路由
器
是
一台特殊用途的
计算机
,它的主要功能
是
确定发送数据包的最佳路径并将数据包转发到目的地。和常见的PC一样,
路由
器
有C...
赞
踩
article
我的读研经历与
算法
岗求职经验_
软件
研究生
找
算法
工作
难吗...
其实一直觉得自己求职经历与校招去的公司相对于很多大神来说,并不算什么,所以也一直没有想法写关于自己的读研以及求职经验。不...
赞
踩
article
ViT
——
nlp
和
cv
进行
了
统一
,
使多模态成为可能...
紧接着在一系列 token 的前面加上加上一个新的 token(对应着 * 那个位置)
,
此外还需要加上位置的信息
,
对应着...
赞
踩
article
C#
实现
把
String
字符串
转化
为
SQL
语句中的
In
后接的参数...
实现
把
String
字符串
转化
为
In
后可用参数代码: public string
String
ToList(string ...
赞
踩
相关标签
动态规划
背包
01背包
完全背包
力扣
python3
scrapy
安装
python
flask
数据库
YOLO
论文阅读
目标检测
学习
人工智能
大数据
c语言
mysql
面试
java
云原生
kubernetes
容器