css3的某个属性里
.p_f_color:first-of-type
{
background:#ff0000;
}
jq选择器
$(document).ready(function(){
$("p p").first().css('background','#ff0000');
});
小弟好奇两者的存在的区别//
ringa_lee2017-04-11 12:49:55
个人感觉区别主要还是在于浏览器的解析吧.
浏览器->解析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/...
PHP中文网2017-04-11 12:49:55
个人见解,同候大神
CSS 为元素设置默认样式,元素的各项基本外观都由 CSS 展现。
JavaScript 为元素动态改变外观,变更通过修改 CSS 实现。
在网页展现时 CSS 被优先显示,JavaScript 被稍后加载(选择方式稍慢?加载顺序靠后?本人不知)。
至于选择器,你所说 “存在的区别” ,
大致是 CSS 选择快,选择性差(如没有父元素选择器);
JavaScript 选择慢,可选择性好。
如果你所问的是 “为什么会有两个选择器?”(作者没搞清楚你要问啥)
那么大致是因为两个模块,两个团队,两个选择方式导致的吧。
略知皮毛,不知其因;
个人见解,同候大神。