下面简单介绍一个常用的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. 如何在MySQL中使用explain查询SQL的执行计划?

    1.什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解. MySQL本身的功能架构分为三个部分,分别是 应用层.逻辑层.物理层,不只是MyS ...

  2. 「LibreOJ β Round #2」计算几何瞎暴力

    https://loj.ac/problem/517 题解 首先我们如果没有排序这个骚操作的话,可以直接记一下各个数位的前缀和,然后异或标记给全局打,查询的时候先把区间信息提取出来然后整体异或就好了. ...

  3. VMware Workstation 14 Pro安装教程(详细)

    VMware Workstation 14 Pro安装教程(详细) 话不多说,直接上图,需要的拿走. 下载地址:https://download3.vmware.com/software/wkst/f ...

  4. 原生JS获取元素宽高实践详解

    开篇的话 任何不是亲身实践中求得的知识,都不是属于你的.任何求得的知识不去时常温习运用,也不是属于你的. 记录由来 在做个上拉广告功能中遇到了一个"理所当然"觉得对的用法,慢慢才排 ...

  5. 小白的git克隆流程clone

    首先你进去你要存放代码的位置,比如将代码存放到D盘,然后在D盘中右键,点击Git Bash Here,就是说本地仓库要在D盘建立. 然后出现git 命令行界面,然后输入命令:git clone + 远 ...

  6. 关于Java泛型实现原理的思考与一般用法示例总结

    面向对象的一个重要目标是对代码重用的支持.支持这个目标的一个重要机制就是泛型机制.在1.5版本之前,java并没有直接支持泛型实现,泛型编程的实现时通过使用继承的一些基本概念来完成的. 这种方式的局限 ...

  7. sqlserver 查询当前阻塞进程 并杀掉

    select * from master.dbo.sysprocesses where DB_NAME(dbid)=’test’ and spid<>@@SPID 看看阻塞的进程 然后ki ...

  8. fedora18 You might need to install dependency packages for libxcb.

    22 down vote The page Qt for X11 Requirements lists some packages required to build Qt on Debian. Th ...

  9. 任何国家都无法限制数字货币。为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用  c.分布式算法的实现 d.数据存储技术 e.拜占庭算法 f.权益证明POW,POS,DPOS 原因一: 点对点网络设计 其中点对点的P2P网络是bittorent ,由于是点对点的网络,没有中心化,因此在全球分布式的网

    任何国家都无法限制数字货币.为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用  c.分布式算法的实现 d.数据存储技 ...

  10. iOS即时通讯之CocoaAsyncSocket源码解析二

    原文 前言 本文承接上文:iOS即时通讯之CocoaAsyncSocket源码解析一 上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查:本机地 ...