理解jQuery选择器与Sizzle

什么是jQuery选择器?

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

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

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

详细参考:

什么叫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介绍:

Sizzle引擎–原理与实践(一):

什么是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)。

官网是:

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

本文出处:

2015.2.23

背着背包的路上,看过许多人,听过许多故事,

理解jQuery选择器与Sizzle

相关文章:

你感兴趣的文章:

标签云: