理解jQuery选择器与Sizzle

什么是jQuery选择器?

jQuery选择器通俗来讲就是一个获取html元素的工具。比如,$("p") 选取 <p> 元素,$("p")是jQuery的选择器的写法,这么写就可以获取(选取)html里的<p>元素。

jQuery选择器包括元素选择器、属性选择器、CSS选择器。(个人感觉这个分类比较扯淡)

注意:属性选择器的意思并不是选择属性,而是根据属性选择元素。

详细参考:http://www.w3school.com.cn/jquery/jquery_selectors.asp


什么叫html元素?什么是属性?

html代码里的开始标签+内容+结束标签就构成一个元素,英文是element。

<p>这是一个标签,</p>这也是一个标签,英文是tag。

<p>XXX</p>这就是一个元素。

特殊的<br/>这也是一个标签。

属性估计大家都清楚,比如标签<body bgcolor="red">中,bgcolor="red"就是属性。

也就是说,属性是在标签中的;而在不混淆的情况下,我们经常把元素称作为标签(部分人包括我经常这样),也不是一个很大的问题。


不用jQuery选择器的话是如何实现该功能的?

如果不用jQeury,简单的元素选择器的一般原生js写法是:getElementById()、getElementByClassName()等函数获取元素。在这种情况下,$的作用仅仅是简化了代码的书写方法。

当然,这只是最简单的情况下。$写法的在这种情况下其实也是调用getElementById(),但复杂情况则通过jQuery选择器的复杂实现。


jQuery选择器是如何实现的?

w3c上是这么说:jQuery 使用 CSS 选择器来选取 HTML 元素。我个人又一次感觉更扯淡。所以还是建议怎么使用可以看w3c,原理的东西还是看别的。

可以参考这篇文章:

jQuery选择器引擎和Sizzle介绍:http://blog.csdn.net/freshlover/article/details/10813657

Sizzle引擎--原理与实践(一):http://www.cnblogs.com/xesam/archive/2012/02/15/2352466.html


什么是sizzle?

sizzle是一个纯js的CSS选择器引擎(A pure-JavaScript CSS selector engine)。最新版本是2.1.1(jquery-sizzle-2.1.1-jquery.2.1.2-11-gf8ef711.zip)。

官网是:http://sizzlejs.com/

它是jQuery官网的一部分。(jQuery官网一共有5部分:jQuery、jQueryUI、jQueryMobile、Sizzle、QUnit)但它是独立的,虽然jQuery本身使用sizzle,但是你完全可以在不使用jQuery的情况下使用sizzle。


本文出处:http://blog.csdn.net/ouyida3/article/details/43915543

2015.2.23

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。