jquery selector 基础

转自:http://www.cnblogs.com/zwl12549/archive/2008/08/09/1264163.html

query的这套选择符是比较帅气的,借用了XPath2.0和CSS1-3中的语法,并且兼容了多个浏览器,让原本非常复杂的DOM,一下子变得简单起来了,手中最新的版本是1.2.2b,下面的所有例子,也是根据此版本提供的例子。

测试HTML代码:

<div id="father">
   <div id="first">I am first</div>
   <div id="second" class="red">I am second</div>
   <div id="third" style="display:none">I am third</div>
</div>
<p class="red">I am forth</p>
<h4></h4>

基础:

#id:根据对象的id属性获取对象。

alert($(‘#first‘).html());
//显示I am first

element:匹配某一HTML标签的所有对象

alert($(‘div‘).length);
//显示4

.class:根据对象的class属性获取对象

alert($(‘.red‘).length);
//显示2

*:获取所有的对象

alert($(‘*‘).length);
//显示HTML中对象的和,但是不同的浏览器,结果会有所不同

selector1, selector2, selectorN:获取多个选择符的合集,不剔出重复项。

alert($(‘.red,#second,p‘).length);
//显示4

层级选择符:

ancestor descendant:这个选择符就是空格,表示先找到第一个选择符的所有对象,然后在他的子孙节点中找到所有符合第二个选择符的对象。

alert($(‘#father .red‘).html());
//显示I am second

parent > child:这个选择符就是大于号,表示先找到第一个选择符的所有对象,然后在他的子节点(不能是孙节点)中找到所有符合第二个选择符的对象。

alert($(‘#father > .red‘).html());
//显示I am second

prev + next:这个选择符就是加号,表示先找到第一个选择符的所有对象,然后找和他同级的紧跟着的下一个节点同时符合第二个选择符的对象。

alert($(‘#father + .red‘).html());
//显示I am forth

prev ~ siblings:这个选择符就是~号,表示先找到第一个选择符的所有对象,然后找和他同级的以后所有节点里面同时符合第二个选择符的对象。

alert($(‘#first ~ #third‘).html());
//显示I am third

基础过滤符:

:first:匹配多个对象中的第一个对象
:last:匹配多个对象中的最后一个对象

alert($(‘.red:first‘).html());
//显示I am second
alert($(‘div:last‘).html());
//显示I am third

:not(selector):匹配去除了not后面选择符中内容的项

alert($(‘.red:not(#second)‘).html());
//显示I am forth

:even:匹配所有对象中的第偶数个
:odd:匹配所有对象中的第奇数个

alert($(‘div:even‘).length);
//显示2
alert($(‘div:odd‘).length);
//显示2

:eq(index):匹配某一下表的单独某元素

alert($(‘div:eq(2)‘).html());
//显示I am second

:gt(index):匹配大于某一下标的所有元素
:lt(index):匹配小于某一下标的所有元素

alert($(‘div:gt(1)‘).length);
//显示2
alert($(‘div:lt(2)‘).length);
//显示2

:header:匹配所有的header元素,例如h1,h2,h3,h4,h5,h6

alert($(‘:header‘).length);
//显示1

:animated:匹配所有有动画效果的元素

function animateIt()
{
   $("#second").slideToggle("slow", animateIt);
}
animateIt();
alert($(‘:animated‘).html());
//显示I am second

文本过滤符:

:contains(text):匹配内部拥有该文本元素的对象,包含间接有用的情况

alert($(‘div:contains("first")‘).length);
//显示2

:empty:匹配所有没有子元素的对象

alert($(‘:header:empty‘).length);
//显示1

:has(selector):匹配所有至少含有一个子选择符的对象

alert($(‘div:has("#third")‘).attr(‘id‘));
//显示father

:parent:匹配所有的父对象,父对象包含那些只含有文本的对象

alert($(‘div:parent‘).length);
//显示4

可见性过滤符:

:hidden:匹配所有隐藏对象,或者input中的hidden类型
:visible:匹配所有可见的对象

alert($(‘div:hidden‘).length);
//显示1
alert($(‘div:visible‘).length);
//显示3

属性过滤符:

[attribute]:匹配拥有某一属性的所有对象
[attribute=value]:匹配拥有某一属性和值的对象
[attribute!=value]:匹配拥有某一属性,且不是某一值的对象
[attribute^=value]:匹配拥有某一属性,且以某一值开头的对象
[attribute$=value]:匹配拥有某一属性,且以某一值结尾的对象
[attribute*=value]:匹配拥有某一属性,且包含某一值的对象

alert($(‘div[class]‘).html());
//显示I am second
alert($(‘div[class=red]‘).html());
//显示I am second
alert($(‘div[id!=father]‘).length);
//显示3
alert($(‘div[id^=f]‘).length);
//显示2
alert($(‘div[id$=d]‘).length);
//显示2
alert($(‘div[id*=ir]‘).length);
//显示2

[selector1][selector2][selectorN]:匹配同时符合多个属性选择符的对象

alert($(‘div[id=second][class^=r]‘).length);
//显示I am second

子过滤符:

:nth-child(index/even/odd/equation):匹配子元素中的某一下标/偶数/奇数/等式的对象,:eq(index)只能匹配某单一对象的子元素特征,而这个方法可以匹配多个对象的某一子元素共同特征

alert($(‘#father div:nth-child(1)‘).html());
//显示I am first
alert($(‘#father div:nth-child(even)‘).length);
//显示1
alert($(‘#father div:nth-child(odd)‘).length);
//显示2
alert($(‘#father div:nth-child(3n)‘).length);
//显示1,其实是每3个一匹配

:first-child:匹配第一个子元素
:last-child:匹配最后一个子元素
这两个匹配符也可以对多个父对象的所有子元素进行匹配操作

alert($(‘#father div:first-child‘).html());
//显示I am first
alert($(‘#father div:last-child‘).html());
//显示I am third

:only-child:如果一个父元素只有一个子元素,就匹配这个子元素

alert($(‘div:only-child‘).length);
//显示0

时间: 2024-10-31 23:38:23

jquery selector 基础的相关文章

jQuery之基础核心(demo)

jQuery之基础核心 作者的热门手记 jQuery之基础核心(demo) 本文主要简单的介绍下jQuery一些基础核心,大致了解jQuery使用模式.适用于有HTML.CSS.javascript基础,又刚刚接触jQuery的初学者.(如有错误,请指正)咱们从基础语法说起,基础语法是:$(selector).action() 美元符号$定义jQuery 选择符(selector)"查询"和"查找" HTML 元素 jQuery 的 action() 执行对元素的操

jQuery官方基础教程笔记(转载)

本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. 对于网页开发者来说,学会jQuery是必要的.因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果. 虽然jQuery上手简单,比其他

jquery学习基础(二)

今天继续学习jquery的基础.直接看栗子吧. jquery操作checkbox demoOne 这里我点击超链接的时候,使用alert将所有已经checked的checkbox的value值打印出来,先看下效果: 关键的html和jquery代码: <div> <a href="#">获得被选中的元素</a> <input type="checkbox" checked value="111">c

jQuery Mobile基础

1.安装 在<head></head>标签里边写入以下内容 jQuery Mobile CDN: 1 <head> 2 <meta charset="utf-8"> 3 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css"> 4 <script sr

Golang 网络爬虫框架gocolly/colly 二 jQuery selector

Golang 网络爬虫框架gocolly/colly 二 jQuery selector colly框架依赖goquery库,goquery将jQuery的语法和特性引入到了go语言中.如果要灵活自如地采集数据,首先要了解jQuery选择器.以下内容是翻译jQuery官方网站 <Category: Selectors>章节内容: Category: Selectors Borrowing from CSS 1–3, and then adding its own, jQuery offers

介绍JQuery的基础常用方法$()

介绍JQuery的基础常用方法$() 1. has()包含的意思举例:第一个div包含了span,第二个没有包含<div id="div1"><span>1</span></br> </div><div>111 </div> 执行代码发现 包含span的div的css样式改变了,这就是包含 2.filter()过滤,括号内有参数,可以看例子理解<div id="div1">

jQuery语法基础&amp;选择器

通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法实例 $(this).hide() 演示 jQuery hide() 函数,隐藏当前的 HTML 元素. $("#test").hide() 演示 jQuery hide() 函数,隐藏 id="test" 的元素. $("p").hide() 演示 jQuery hide() 函数,隐藏所有 <

JQuery相关基础

原生javascript与jquery方法不能同时混合使用 1.操作属性    attr:    $('xxx').attr('属性')        //一个参数是获取属性        $('xxx').attr('属性','xxx')    //两个参数是设置属性    filter:    $('XXX').filter('xx')        //筛选,过滤        $('XXX').filter('[title=XX]')    not:    $('XXX').not('x

JQuery EasyUI&mdash;&mdash;基础

目录 demo目录是easyui使用示例: locale目录是国际化支持(语言): src目录是部分easyui插件的源码: plugins目录是easyui使用的插件: themes目录包含多套easyui可使用的主题. 通常在项目中使用的话,demo目录.src目录可以不用,locale可以去除没用的js库,主题如果只使用默认的主题,也可以去除不用的主题.项目中,extends目录是项目中,基于easyui框架做的一些扩展. 引用 <link rel="stylesheet"