javascript - css3选择器和jq选择器的比较?
大家讲道理
大家讲道理 2017-04-11 12:47:55
0
3
687

css3的某个属性里
.p_f_color:first-of-type
{
background:#ff0000;
}

jq选择器
$(document).ready(function(){
$("p p").first().css('background','#ff0000');
});

小弟好奇两者的存在的区别//

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(3)
左手右手慢动作

个人感觉区别主要还是在于浏览器的解析吧.

浏览器->解析HTML->构成DOM树____>构成渲染树(呈现树)->...
浏览器->解析CSS->CSS规则树 /

  • CSS的选择器其实是在浏览器解析阶段提供信息用于构成渲染树.

  • jq选择器,由于我学艺不精,还没读源码,也不太清楚.其中用到了各种正则表达式,但是也离不开HTML DOM才对.

  • javascript的getElementByID应该是通过HTML DOM接口来进行DOM树的访问的.

要是说不同的话,其实本质CSS选择器是解析的规则,而JS选择器获取到的则是DOM树的节点.如果用js选择器对样式进行修改的话其实是通过DOM树->呈现树的关系进行修改的

动态变化
在发生变化时,浏览器会尽可能做出最小的响应。因此,元素的颜色改变后,只会对该元素进行重绘。元素的位置改变后,只会对该元素及其子元素(可能还有同级元素)进行布局和重绘。添加DOM节点后,会对该节点进行布局和重绘。一些重大变化(例如增大“html”元素的字体)会导致缓存无效,使得整个呈现树都会进行重新布局和绘制。

一点拙见...希望有大神能给出更加详尽和规范的解释
我觉得应该一看的资料:
http://coolshell.cn/articles/...
http://www.html5rocks.com/zh/...

Ty80

个人见解,同候大神
CSS 为元素设置默认样式,元素的各项基本外观都由 CSS 展现。
JavaScript 为元素动态改变外观,变更通过修改 CSS 实现。
在网页展现时 CSS 被优先显示,JavaScript 被稍后加载(选择方式稍慢?加载顺序靠后?本人不知)。
至于选择器,你所说 “存在的区别” ,
大致是 CSS 选择快,选择性差(如没有父元素选择器);
JavaScript 选择慢,可选择性好。
如果你所问的是 “为什么会有两个选择器?”(作者没搞清楚你要问啥)
那么大致是因为两个模块,两个团队,两个选择方式导致的吧。
略知皮毛,不知其因;
个人见解,同候大神。

刘奇

css3的选择器是浏览器中 的 渲染进程 去查找的。jq里面是通过浏览器的 js进程 去查找。我是这样认为的,新手一枚,请大神指点

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage