jQuery 选择器理解

 更新时间:2010年03月16日 18:30:20   作者:  
凡是运用$,其返回值是一个object $选择器主要用于选择标签.基本用法是同css的选择器.

$的选择器部分:
凡是运用$,其返回值是一个object
$选择器主要用于选择标签.基本用法是同css的选择器.但是,很让人兴奋的是,他支持常见的浏览器,而css中很多选择器是IE6所不支持的.
1.基本选择器(3种): ----凡是运用$,其返回值是一个object
$("标签名"),如$("p")是选取了所有的p标签节点
$("#id名"),如$("#test")是选取了id为test的标签节点
$(".class名"),如$(".test")是选取了所有class为test的标签节点
上面的$("标签名")和$(".class名")返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等.
2.组选择器: ----3种基本选择器的组合,“,”隔开
下面还是现做一个约定:把"标签名或#id名或.class名"记作mix,则mix表示一个标签名,或一个#id或一个.class.
$("mix,mix,mix,..."),如:$("div,#test1,p,.test2,#test3")

3.后代选择器: ----3种基本选择器的组合,“ ”隔开,直系皆生效
$("mix mix"),当然可以是多个嵌套,但后代选择器可以是深层子代,所以$("mix mix mix ...")这种写法作用不大.例子:$("div .test"):在div标签内的所有具有test的class的后代元素(就是被div嵌套的class属性为test的标签)

4.子选择器: ----3种基本选择器的组合,“>”隔开,只亲子有效
$("mix>mix"),这个放在后代选择器后面是为了和它做对比.子选择器只能选择第一代子代.不处理深层嵌套.例子:
$("div>.test")
<div><p class="test"></p></div>对这里的p段落标签有效.但对
<div><p><p class="test"></p></p></div>对这里的p段落标签无效,这里要用
$("div .test)
5.临近选择器: ----3种基本选择器的组合,“+”隔开,只下一个兄弟节点
$("mix+mix"),选取下一个兄弟节点.如:$("div +#test"),id为test的的节点必须是div的下一个兄弟节点.
<div></div><p id="test"></p>在$("div + #test")中能取到p段落节点
<div></div><p></p><p id="test"></p>则不能取到
6.属性选择器: ----“ |=|^|$|*”
把属性选择器不放在css选择器里面是因为jQuery中写法是不一样的.至于css中写法可以参考我之前写的一篇css的选择器一文.jQuery中是和xPath类似的写法:
$("mix[@attr]"):选取所有该mix且具有attr属性的节点
$("mix[@attr=a_value"]):选取所有该mix且具有attr属性并满足属性值为a_value的节点
$("mix[@attr^=a_value_head"]):attr属性的属性值是以a_value_head开头的
$("mix[@attr$=a_value_end"]):attr属性的属性值是以a_value_end结尾的
$("mix[@attr*=a_value"]):attr属性的属性值中包含a_value

7. 限定选择器:
这个名称是我自己起的,其实选择器组合都有限定的意思,你明白后面所介绍的知识即可.
具有限定子节点选择器:$("mix1[mix2]"):返回包含mix2的mix1节点.如:$("div[a]"):包含a标签的div.
这个和$("div a")不相同.后者表示div中的a标签,返回的是a标签对象,前者返回的是div标签对象
冒号限定结点选择器:$("mix:condition"):mix标签,并且满足限定条件.
E:root:类型为E,并且是文档的根元素
E:nth-child(n):是其父元素的第n个类型为E的子元素 ,基数从1开始
E:first-child:是其父元素的第1个类型为E的子元素
E:last-child:是其父元素的最后一个类型为E的子元素
E:only-child:且是其父元素的唯一一个类型为E的子元素

相关文章

  • jQuery 快速结束当前正在执行的动画

    jQuery 快速结束当前正在执行的动画

    要快速结束一个当前正在执行的jquery 动画时可以在执行当前动画的对象上执行 stop(true)方法,下面有个不错的示例感兴趣的朋友不要错过
    2013-11-11
  • jQuery.extend 函数详解

    jQuery.extend 函数详解

    Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解
    2012-02-02
  • jquery ajaxfileupload异步上传插件使用详解

    jquery ajaxfileupload异步上传插件使用详解

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Jquery UI震动效果实现原理及步骤

    Jquery UI震动效果实现原理及步骤

    如果你想你的博客页面某些部分引起读者的注意,你可以使这些部分震动,如广告等等,今天这篇文章将介绍怎样使你的页面中的元素震动起来,感兴趣的你可不要错过了哦,或许对你学习jquery ui 有所帮助
    2013-02-02
  • jqPlot jQuery绘图插件的使用

    jqPlot jQuery绘图插件的使用

    jqPlot是一个灰常强大的图表工具,曲线,柱状,饼图,应该有尽有,更要命的是,调用方便~~
    2016-06-06
  • jquery中EasyUI实现同步树

    jquery中EasyUI实现同步树

    本文主要是给大家分享了一则使用EasyUI实现同步树的代码,主要是使用递归实现,非常实用的方法,推荐给小伙伴们。
    2015-03-03
  • 利用jquery如何从json中读取数据追加到html中

    利用jquery如何从json中读取数据追加到html中

    这篇文章主要给大家介绍了关于利用jquery如何从json中读取数据追加到html中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编一起来看看吧。
    2017-12-12
  • jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法

    jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法

    这篇文章主要介绍了jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法,涉及jQuery数值运算及条件判断等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • jQuery1.6 正式版发布并提供下载

    jQuery1.6 正式版发布并提供下载

    据jQuery官方博客5月3日的最新消息,jQuery 1.6 正式版已经可以下载使用。jQuery 1.6 版本包括了对属性(Attribute)模型的重要重写,还有诸多性能优化。借此机会感谢jQuery开发团队和jQuery错误分类团队的成员。
    2011-05-05
  • 15个款优秀的 jQuery 图片特效插件推荐

    15个款优秀的 jQuery 图片特效插件推荐

    这篇文章向大家推荐15个最佳 jQuery 图片效果插件。jQuery是最流行的Javascript框架,使用简单灵活,同时还有许多成熟的插件可供选择
    2011-11-11

最新评论