下面简单介绍一个常用的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. vi set the tab width for python

    Put your desired settings in the ~/.vimrc file -- See below for some guidelines and best practices. ...

  2. 安装VS2017

    www.visualstudio.com/zh-hans/downloads/ https://visualstudio.microsoft.com/zh-hans/thank-you-downloa ...

  3. HDU 4348 SPOJ 11470 To the moon

    Vjudge题面 Time limit 2000 ms Memory limit 65536 kB OS Windows Source 2012 Multi-University Training C ...

  4. @media兼容iphone4、5、6

    在网页中,pixel与point比值称为device-pixel-ratio,普通设备都是1,iPhone 4是2,有些Android机型是1.5. 那么-webkit-min-device-pixe ...

  5. HTML canvas中translate()与rotate()的理解

    首先,当我们在页面上初始化canvas时,相当于在上面放了一块画布,这块画布我们可以理解为上面有一个坐标系(如下图),左上角是原点,往右是X轴的正方向,往下是Y轴的正方向,我们在画布上绘制的内容都是基 ...

  6. window下启动redis服务

    ---恢复内容开始--- 在windows环境下启动redis服务,前提是你安装好了,启动如下: 一,进入redis的安装目录下,在地址栏输入“cmd”,回车 二,然后会进入cmd界面,直接运行命令r ...

  7. Mapreduce报错:Split metadata size exceeded 10000000

    报错信息: Failure Info:Job initialization failed: java.io.IOException: Split metadata size exceeded 1000 ...

  8. 使用Git上传本地项目到http://git.oschina.net

    本文前言,因倡导开源精神,我也把代码传上了开源社区,可是,当初使用http://git.oschina.net 网站上传代码的时候不知道使用工具.我竟然一个文件一个文件复制粘贴,可费了我好大一个劲儿, ...

  9. selinux的设置包括两个部分: 修改安全上下文和修改策略

    selinux的设置包括两个部分: 修改安全上下文和修改策略 修改安全上下文: chcon = change context: chcon 修改策略: setsebool 策略就是由很多boo类型的变 ...

  10. 架构-层-Model:Model

    ylbtech-架构-层-Model:Model 1.返回顶部 1. Model,意思是模特儿,模特儿是英文“model”的音译.模特一般来说要五官端正,身材良好,有气质,展示能力强,另外身高要具备一 ...