下面简单介绍一个常用的jQuery使用方法,其他详细的猛戳这里

一、选择器

1.parent > child

说明:在给定父类的情况下匹配所有的子类

示例:

描述:匹配表单中所有的的子级input元素

HTML代码:

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery代码:

$('form > input')

结果:

[<input name="name" />]

2.prev + next

说明:匹配紧跟在prev后面的next元素

示例:

描述:匹配所有跟在 label 后面的 input 元素

HTML代码:

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery代码:

$('label + input')

结果:

[<input name="name" />, <input name="newsletter" />]

3.prev ~ siblings

说明:匹配prev元素之后的所有siblings元素

示例:

描述:找到所有与表单form元素同辈的input元素

HTML代码:

<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />

jQuery代码:

$('form ~ input')

结果:

[ <input name="none" /> ]

4、:first

说明:获取第一个元素

示例:

描述:获取ul下面的第一个li元素

HTML代码:

    <ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>

jQuery代码:

$('li:first');

结果:

[li]

5、:not(selector)

说明:去除所有与给定选择器匹配的元素

示例:

描述:查找所有未选中的input元素

HTML代码:

<input name="apple" type="checkbox" />
<input name="organge" type="checkbox" />
<input name="flower" type="checkbox" checked="checked" />

jQuery代码:

$("input:not(:checked)")

结果:

[<input name="apple" type="checkbox" />, <input name="organge" type="checkbox" />]

6、:eq(index)

说明:匹配一个给定索引值的元素

示例:

描述:查找第二行

HTML代码:

<table>
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>

jQuery代码:

$("tr:eq(1)")

结果:

[<tr><td>Header 1</td></tr>]

7、:gt(index) 和 :lt(index)

说明:获取匹配所有大于给定索引值的元素和获取匹配所有小于给定索引值的元素

示例:

描述:查找第二行和第三行

HTML代码:

<table>
<tr><td>Header 1</td></tr>
<tr><td>Value 1</td></tr>
<tr><td>Value 2</td></tr>
</table>

jQuery代码:

$('tr:gt(0)')

结果:

[tr, tr]

8、:last

说明:获取匹配最后一个元素

示例:

描述:获取最后一个tr元素

HTML代码:

<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>

jQuery代码:

$('li:last')

结果:

[li]

9、:header

说明:匹配如h1、h2、h3之类的标签元素

示例:

描述:给页面所有标签加上背景色

HTML代码:

<h1>Header 1</h1>
<p>Contents 1</p>
<h2>Header 2</h2>
<p>Contents 2</p>

jQuery代码:

$(":header").css("background", "red");

结果:

h1和h2的背景色已经为红色
[h1, h2]

10、:animated

说明:匹配所有正在执行动画效果的元素

示例:

描述:只对不在执行动画效果的元素执行一个动画特效

HTML代码:

 <button id="run">Run</button>
<div style="background-color: #303a40;width: 20px;height: 20px;position: relative"></div>

jQuery代码:

$('#run').click(function(){
$('div:not(:animated)').animate({left: '+=20'},1000);
});

11、:focus

说明:匹配当前获取焦点的元素

示例:

描述:添加一个'focus'类名给那些有focus方法的元素

CSS代码:

.focused {
background: #abcdef;
}

HTML代码:

<div id="content">
<input tabIndex="1">
<input tabIndex="2">
<select tabIndex="3">
<option>select menu</option>
</select>
<div tabIndex="4">
a div
</div>
</div>

jQuery代码:

$( "#content" ).delegate( "*", "focus blur", function( event ) {
var elem = $( this );
setTimeout(function() {
elem.toggleClass( "focused", elem.is( ":focus" ) );
}, 0);
});

12、:contains(text)

说明:匹配包含给定文本的元素

示例:

描述:查找所有包含John的div元素

HTML代码:

<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn

jQuery代码:

$('div:contains("John")')

结果:

[div, div]

13、:empty

说明:匹配不包含子元素或者文本为空的元素

示例:

描述:查找不包含子元素或文本为空的元素

HTML代码:

<table>
<tr>
<td>Value 1</td>
<td></td>
</tr>
<tr>
<td>Value 2</td>
<td></td>
</tr>
</table>

jQuery代码:

$('td:empty')

结果:

[td, td]

14、:has(selector)

说明:匹配含有选择器所匹配的元素的元素

示例:

描述:给所有包含p元素的div元素添加一个text类

HTML代码:

 <div>
<p>Hello</p>
</div>
<div>Hello again!</div>

jQuery代码:

$('div:has(p)').addClass('text');

15、:parent

说明:匹配含有子元素或者文本的元素

示例:

描述:查找所有包含文本或者子元素的td元素

HTML代码:

<table>
<tr>
<td>Value 1</td>
<td></td>
</tr>
<tr>
<td>Value 2</td>
<td></td>
</tr>
</table>

jQuery代码:

$('td:parent')

结果:

[ <td>Value 1</td>, <td>Value 2</td> ]

16、:hidden和:visible

说明:匹配所有不可见元素或者type为hidden的元素,:visible匹配所有可见元素

示例:

描述:查找隐藏的tr元素

HTML代码:

<table>
<tr style="display:none">
<td>Value 1</td>
</tr>
<tr>
<td>Value 2</td>
</tr>
</table>
<form>
<input type="text" name="email" />
<input type="hidden" name="id" />
</form>

jQuery代码:

$('tr:hidden');
$('input:hidden');

结果:

[tr]
[input]

17、[attribute]、[attribute=value]、[attribute!=value]、[attribute^=value]、[attribute$=value]、[attribute*=value]、[selector1][selector2][selectorN]操作

说明:[attribute] 匹配包含给定属性的元素

   [attirbute=value] 匹配给定某个属性为value值的元素

   [attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素。此选择器等价于 :not([attr=value]) 要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])

   [attribute^=value] 匹配给定的属性是以某些值开始的元素

   [attribute$=value] 匹配给定的属性是以某些值结尾的元素

   [attribute*=value] 匹配给定的属性包含某些值的元素

   [selector1][selector2][selectorN] 复合性选择器,需要同时满足多个条件时使用

示例:

描述:1.查找含有id属性的的div元素

   2.查找所有 name 属性是 newsletter 的 input 元素

   3.查找所有 name 属性不是 newsletter 的 input 元素 

   4.查找所有 name 以 'news' 开始的 input 元素

   5.查找所有 name 以 'letter' 结尾的 input 元素

   6.查找所有 name 包含 'man' 的 input 元素

     7.查找含有id属性,并且name属性是以man结尾的

HTML代码:

示例一:
<div>
<p>Hello!</p>
</div>
<div id="test2"></div> 示例二:
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" /> 示例三:
<input type="checkbox" name="newsletter" value="Hot Fuzz" />
<input type="checkbox" name="newsletter" value="Cold Fusion" />
<input type="checkbox" name="accept" value="Evil Plans" /> 示例四:
<input name="newsletter" />
<input name="milkman" />
<input name="newsboy" /> 示例五:
<input name="newsletter" />
<input name="milkman" />
<input name="newsboy" /> 示例六:
<input name="man-news" />
<input name="milkman" />
<input name="letterman2" />
<input name="newmilk" />

jQuery代码:

$('div[id]');
$('input[name="newsletter"]');
$('input[name^="news"]');
$('input[name$="letter"]');
$("input[name*='man']");$("input[id][name$='man']");

18、:first-child和:last-child

说明:匹配所给选择器(:之前的选择器)的第一个子元素,类似:first匹配第一个元素,但是:first-child可以同时匹配多个元素,即为每个父级元素匹配第一个子元素

   匹配所给选择器(:之前的选择器)的最后一个子元素,类似:last匹配第一个元素,但是:last-child可以同时匹配多个元素,即为每个父级元素匹配第后一个子元素

示例:

描述:在每个 ul 中查找第一个 li

   在每个 ul 中查找最后一个li

HTML代码:

<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>

jQuery代码:

$('ul li:first-child');
$('ul li:last-child');

19、:input

说明:匹配所有 input, textarea, select 和 button 元素

示例:

描述:查找所有的input元素,下面这些元素都会被匹配到。

HTML代码:

<form>
<input type="button" value="Input Button"/>
<input type="checkbox" /> <input type="file" />
<input type="hidden" />
<input type="image" /> <input type="password" />
<input type="radio" />
<input type="reset" /> <input type="submit" />
<input type="text" />
<select><option>Option</option></select> <textarea></textarea>
<button>Button</button> </form>

jQuery代码:

$(":input")

结果

[
<input type="button" value="Input Button"/>,
<input type="checkbox" />, <input type="file" />,
<input type="hidden" />,
<input type="image" />, <input type="password" />,
<input type="radio" />,
<input type="reset" />, <input type="submit" />,
<input type="text" />,
<select><option>Option</option></select>, <textarea></textarea>,
<button>Button</button>,
]

20、:text、:password、:radio、:checkbox、:submit、:image、:reset、:button、:file、:enable、:disable、:checked、:selected

说明::text 匹配所有的单行文本框

   :password 匹配所有密码框

   :radio 匹配所有单选按钮

   :checkbox 匹配所有复选框

   :submit 匹配所有提交按钮,理论上只匹配 type="submit" 的input或者button,但是现在的很多浏览器,button元素默认的type即为submit,所以很多情况下,不设置type的button也会成为筛选结果。为了防止歧义或者误操作,建议所有的button在使用时都添加type属性。

   :image 匹配所有图像域

   :reset 匹配所有重置按钮

   :button 匹配所有按钮

   :file 匹配所有文件域

   :enable 匹配所有可用元素

   :disable 匹配所有不可用元素

   :checked 匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected

   :selected 匹配所有选中的option元素

示例:

描述:查找所有文本框

   查找所有密码框

   查找所有单选按钮

   查找所有复选框

   查找所有提交按钮

   查找所有图像域

   查找所有重置按钮

   查找所有按钮

   查找所有文件域

   查找所有可用元素

   查找所有不可用元素

   查找所有选中的复选框元素

   查找所有选中的选项元素

HTML代码:

#特殊示例 查找所有的按钮
<form>
<input type="text" />
<input type="checkbox" />
<input type="radio" />
<input type="image" />
<input type="file" />
<input type="submit" />
<input type="reset" />
<input type="password" />
<input type="button" />
<select><option/></select>
<textarea></textarea>
<button></button>
</form> #特殊示例 查找所有选中的复选框元素
<form>
<input type="checkbox" name="newsletter" checked="checked" value="Daily" />
<input type="checkbox" name="newsletter" value="Weekly" />
<input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
</form> #特殊示例 查找所有选中的选项元素
<select>
<option value="1">Flowers</option>
<option value="2" selected="selected">Gardens</option>
<option value="3">Trees</option>
</select>

jQuery代码:

$(':button');
$('input:checked')
$('select option:selected');

结果:

[ <input type="button" />,<button></button> ]

[ <input type="checkbox" name="newsletter" checked="checked" value="Daily" />, <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> ]

[ <option value="2" selected="selected">Gardens</option> ]

jQuery学习总结01-选择器的更多相关文章

  1. JQuery学习笔记——层级选择器

    JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...

  2. JQuery学习笔记--01

    JQuery使用的话,必做的一下件事就是下载JQuery库,才可以使用下载地址:http://jquery.com/ 下面就是引用JQuery库了: <script type="tex ...

  3. JQuery学习笔记——基础选择器

    第一篇博客,现在原生安卓需求不大了.招聘的Android工程师都需要附带更多的其他技术.这也是开启我学习前端之路的开端.前端时间看了HTML.CSS等,在界面渲染这一块,就不多记录博客了.现在学习着J ...

  4. jQuery学习笔记01

    1.jQuery介绍 1.1什么是jQuery ? jQuery,顾名思义,也就是JavaScript和查询(Query),它就是辅助JavaScript开发的js类库. 1.2 jQuery核心思想 ...

  5. jquery 学习日记之选择器

    看完Jquery选择器的教程视频后,对jquery的选择器有一定的认识和了解,现整理一下知识: 一.jquery基本选择器,这类比较简单,一笔带过. #id 选择器,是选择  匹配id值中的第一个元素 ...

  6. jQuery学习笔记(2)-选择器的使用

    一.选择器是什么 有了jQuery的选择器,我们几乎可以获取页面上任意一个或一组对象 二.Dom对象和jQuery包装集 1.Dom对象 JavaScript中获取Dom对象的方式 <div i ...

  7. JQuery学习笔记之选择器

    JQuery与DOM对象 <div id="test1" class="test2"></div> DOM对象获取方式: var dom ...

  8. JQuery 学习笔记(01)

    JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Oper ...

  9. jQuery学习之过滤选择器

    基本过滤选择器 :first 选取第一个元素:$("div:first") :last 选取最后一个元素:$("div:last") :not(selector ...

  10. JQuery学习笔记系列(一)----选择器详解

    笔者好长时间没有更新过博客园的笔记了,一部分原因是去年刚刚开始工作一段时间忙碌的加班,体会了一种每天加班到凌晨的充实感,之后闲暇时间了也因为自己懒惰没有坚持记笔记的习惯,现在重新拾起来. 借用古人的一 ...

随机推荐

  1. Linux内核设计与实现 总结笔记(第十三章)虚拟文件系统

    一.通用文件系统接口 Linux通过虚拟文件系统,使得用户可以直接使用open().read().write()访问文件系统,这种协作性和泛型存取成为可能. 不管文件系统是什么,也不管文件系统位于何种 ...

  2. 最大 k 乘积问题 ( 经典区间DP )

    题意 : 设 NUM 是一个 n 位十进制整数.如果将 NUM 划分为 k 段,则可得到 k 个整数.这 k 个整数的乘积称为 NUM 的一个 k 乘积.试设计一个算法,对于给定的 NUM 和 k,求 ...

  3. Activiti组任务(十)

    1 Candidate-users 候选人 1.1需求 在流程定义中在任务结点的 assignee 固定设置任务负责人,在流程定义时将参与者固定设置在.bpmn 文件中,如果临时任务负责人变更则需要修 ...

  4. Behaviour Tree Service 中的几个函数

    Service中可以override的函数有8个,因为每个函数都有个AI版本的,所以实际上是4组函数,AI版本的和非AI版本基本一样, 他们分别是: Receive Search Start (AI) ...

  5. [CF Round603 Div2 F]Economic Difficulties

    题目:Economic Difficulties 传送门:https://codeforces.com/contest/1263/problem/F 题意:给了两棵tree:Ta(拥有a个节点,节点编 ...

  6. Python 元组遍历排序操作方法

    在Python不可变数据类型中,有一个比较重要的角色那就是元组( tuple ).如果某个对像被定义为元组类型,那么就意味着它的值不能被修改,除非重新定义一个新的对像.元组和List列表常被放在一起进 ...

  7. 关于scroll,client,innear,avail,offset等的理解

    在写实例理解scrollWidth,clientWidth,innearWidth,availWidth及offsetWidth等的时候,意外的又发现了margin值合并的问题,在这里同时记录下 1. ...

  8. 源码编译apache设置系统启动失败

    文章为转载,亲试成功. Apache无法自动启动,1.将apachectl文件拷贝到/etc/rc.d/init.d 中,然后在/etc/rc.d/rc5.d/下加入链接即可.命令如下:cp /usr ...

  9. nginx坑记录

    问题1: 配置解析过程使用ngx_cycle->pool申请内存保存配置,结果造成野指针. 背景:需求开发过程,有一些结构需要在配置解析阶段保存,然后可以动态修改.看原来的代码配置解析都是使用c ...

  10. python3爬虫之urllib初探

    urllib主要包含request(请求模块).error(异常处理模块).parse(工具模块).robotparser(识别网站的robots.txt文件,是否允许爬取). request(请求模 ...