jQuery学习笔记(三):选择器总结

这一节详细的总结jQuery选择器。

一、基础选择器

$(‘#info‘);        // 选择id为info的元素,id为document中是唯一的,因此可以通过该选择器获取唯一的指定元素$(‘.infoClass‘);     // 选择class为infoClass的所有元素$(‘div‘);        // 选择标签名为div的所有的元素$(‘*‘);         // 选择所有标签元素

二、基本过滤器

基本选择器获取的元素集合,通过过滤器的筛选,使选择更加精确。

$(‘.infoClass:first‘);    // 选择class为infoClass的所有元素集合,并筛选集合中的第一个元素$(‘.infoClass:last‘);     // 选择class为infoClass的所有元素集合,并筛选集合中的最后一个元素$(‘.infoClass:odd‘);      // 选择class为infoClass的所有元素集合,并筛选集合中索引为奇数的元素,如1,3,5$(‘.infoClass:even‘);     // 选择class为infoClass的所有元素集合,并筛选集合中索引为偶数的元素,如0,2,4$(‘.infoClass:eq(2)‘);    // 选择class为infoClass的所有元素集合,并筛选集合中索引为2的元素$(‘.infoClass.lt(2)‘);    // 选择class为infoClass的所有元素集合,并筛选集合中索引小于2的元素集合$(‘.infoClass.gt(2)‘);    // 选择class为infoClass的所有元素集合,并筛选集合中索引大于2的元素集合

三、内容过滤器

jQery准备了内容过滤器用于对选择的元素集合内容进行过滤。

统一名称:

  • 空元素:不包含任何后代元素或文本内容的元素,如<div></div>
  • 非空元素:包含后代元素或者包含文本内容的元素
$(‘div:contains("info")‘);     // 选择标签为div的所有元素集合,并筛选集合中文本内容包含info字段的元素$(‘div:empty‘);                // 选择标签为div的所有元素集合,并筛选集合中所有空元素$(‘div:parent‘);              // 选择标签为div的所有元素集合,并筛选集合中所有非空元素$(‘div:has(p)‘);               // 选择标签为div的所有元素集合,并筛选集合中后代元素含有p标签的元素

四、可视化过滤器

对于元素是否可见,jQuery也进行了处理。

$(‘div:visible‘);            // 选择标签为div的所有元素集合,并筛选集合中可见的元素$(‘div:hidden‘);             // 选择标签为div的所有元素集合,并筛选集合中不可见的元素

五、属性过滤器

不同元素之间,拥有不同的属性参数,jQuery允许通过参数进行过滤。

$(‘input[placeholder]‘);               // 选择所有标签为input的元素集合,并筛选包含placeholder属性的元素$(‘input[placeholder="info"]‘);        // 选择所有标签为input的元素集合,并筛选placeholder属性值为info的元素$(‘input[placeholder^="info"]‘);       // 选择所有标签为input的元素集合,并筛选placeholder属性值以info开头的元素$(‘input[placeholder$="tion"]‘);       // 选择所有标签为input的元素集合,并筛选placeholder属性值以tion结尾的元素$(‘input[placeholder*="mat"]‘);        // 选择所有标签为input的元素集合,并筛选placeholder属性值中包含字段mat的元素$(‘input[id][placeholder*="mat"]‘);    // 选择所有标签为input的元素集合,并筛选包含id属性并且placeholder属性值中包含字段mat的元素

六、子元素过滤器

这个比较容易混淆,进行对比总结。

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

$(‘ul li:first-child‘).css(‘background-color‘, ‘red‘);   // 选择每一个ul标签下的li元素集合中的第一个

$(‘ul li:first‘).css(‘background-color‘, ‘red‘);   // 选择所有ul标签下的li元素集合中的第一个

$(‘ul li:last-child‘);   // 选择每一个ul标签下的li元素集合中的最后一个

七、关系选择器

  • 同级元素:即当前元素处于同一层级。
  • 父级元素:即当前元素的直属上层元素。
  • 祖先元素:即当前元素的所有上层元素。
  • 子级元素:即当前元素的直属子层元素。
  • 后代元素:即当前元素的所有子层元素。
$(‘form input‘);           // 选择所有标签为form的元素中,后代元素标签为input的元素$(‘form>input‘);           // 选择所有标签为form的元素中,子级元素标签为input的元素$(‘label+input‘);          // 选择所有标签为label的同级元素中,标签为input的元素集合中的第一个$(‘label~input‘);          // 选择所有标签为label的同级元素中,标签为input的元素集合

八、表单选择器

方便表单元素的选择。

$(‘:input‘);                // 选择所有表单输入元素,包括input,textarea,select$(‘:text‘);                 // 选择所有的type为text的input元素$(‘:password‘);             // 选择所有的type为password的input元素$(‘:radio‘);                // 选择所有的type为radio的input元素 $(‘:checkbox‘);             // 选择所有的type为checkbox的input元素 $(‘:submit‘);               // 选择所有的type为submit的input元素 $(‘:image‘);                // 选择所有的type为image的input元素 $(‘:reset‘);                // 选择所有的type为reset的input元素 $(‘:button‘);               // 选择所有的type为button的input元素 $(‘:file‘);                 // 选择所有的type为file的input元素 $(‘:hidden‘);               // 选择所有类型为hidden的input元素或表单的隐藏域 

表单元素过滤器

$(‘:enabled‘);                  // 选择所有的可操作的表单元素
$(‘:disabled‘);                 // 选择所有的不可操作的表单元素
$(‘:checked‘);                  // 选择所有的被checked的表单元素
$(‘select option:selected‘);    // 选择所有的select 的子元素中被selected的元素 

九、对比总结

为了方便记忆,将功能相关的选择器进行总结:

1. $(‘#id‘)与$(‘.calss‘)

$(‘#id‘);        // 根据id选择元素
$(‘.class‘);       // 根据class选择元素

2.$(‘div:first‘)与$(‘div:last‘)

$(‘div:first‘);     // 选择div元素集合中的第一个
$(‘div:last‘);      // 选择div元素集合中的最后一个

3.$(‘div:odd‘)与$(‘div:even‘)

$(‘div:odd‘);       // 选择div元素集合中的奇数个元素
$(‘div:even‘);      // 选择div元素集合中的偶数个元素

4.$(‘div:gt(i)‘)与$(‘div:lt(i)‘)

$(‘div:gt(i)‘);       // 选择div元素集合中索引大于i的元素
$(‘div:lt(i)‘);       // 选择div元素集合中索引小于i的元素

5.$(‘div:empty‘)与$(‘div:parent‘)

$(‘div:empty‘);        // 选择div元素集合中空元素
$(‘div:parent‘);       // 选择div元素集合中非空元素

6.$(‘div:visible‘)与$(‘div:hidden‘)

$(‘div:visible‘);      // 选择div元素集合中可见元素
$(‘div:hidden‘);       // 选择div元素集合中隐藏元素

7.$(‘ul li:first‘)与$(‘ul li:first-child‘)

$(‘ul li:first‘);             // 选择所有ul后代元素li元素集合中的第一个$(‘ul li:first-child‘);       // 选择每个ul后代元素li元素集合中的第一个

8.$(‘:disable‘)与$(‘:enable‘)

$(‘:disable‘);             // 选择所有可以操作的表单元素
$(‘:enable‘);              // 选择所有不可以操作的表单元素

[转发自http://www.cnblogs.com/Lands-ljk/p/6049740.html]
时间: 2024-10-21 10:33:48

jQuery学习笔记(三):选择器总结的相关文章

Jquery学习笔记-过滤选择器

1.根据某过滤规则进行元素的匹配,书写时以":"号开头,通常用于查找集合元素中的某一位置的单个元素. $("li:first") 第一个 $("li:last") 最后一个 2.如果想从一组标签元素数组中,灵活选择任意的一个标签元素,我们可以使用:eq(index) 其中参数index表示索引号(即:一个整数),它从0开始. 如果index的值为3,表示选择的是第4个元素:$("li:eq(3)") 3.按照文本内容来查找一个

JQuery学习笔记-基本选择器

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style type="text/css"> div, span, p {     width: 140px;     height: 140px;     margin: 5px;     background

JQuery学习笔记-层次选择器

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style type="text/css"> div, span, p { width: 140px; height: 140px; margin: 5px; background: #aaa; border: 

jQuery学习笔记之选择器

目录: 选择器: 选择器应用优化 简单的伪类选择器    内容伪类选择器 显隐伪类选择器 子元素伪类选择器 表单对象伪类选择器 表单属性伪类选择器 属性选择器 HelloWorld 选择器 选择器应用优化 1.简单的伪类选择器 2.内容伪类选择器 3.显隐伪类选择器 4.子元素伪类选择器 5. 表单对象伪类选择器 6. 表单属性伪类选择器 7. 属性选择器

jQuery学习笔记(三)jQuery中的动画

1 show() 方法和hide() 方法  (显示和隐藏) show() 方法和hide() 方法是jQuery中基本的动画方法.在HTML文档里,为一个元素调用hide() 方法,会将该元素的display样式改为“none”. $("element").hide(); //通过hide()方法将element元素隐藏 $("element").css("display","none"); //通过css()方法将elem

jQuery学习笔记——jQuery常规选择器

一.简单选择器在使用 jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的 CSS 规则.而CSS 规则作为参数传递到 jQuery 对象内部后,再返回包含页面中对应元素的 jQuery 对象.随后,我们就可以对这个获取到的 DOM 节点进行行为操作了.#box {//使用 ID 选择器的 CSS 规则color:red;//将 ID 为 box 的元素字体颜色变红}在 jQuery 选择器里,我们使用如下的方式获取同样的结果:$('#box').css('color', 'red

jQuery学习笔记之过滤器三(向上查找兄弟元素、向下查找兄弟元素)

向上查找兄弟元素的方法:prev方法.prevAll方法.prevUntil方法 向下查找兄弟元素:next方法.nextAll方法.nextUntil方法 向上查找兄弟元素 1.prev方法 2.prevAll方法 3.prevUntil方法 向下查找兄弟元素 1.next方法 2.nextAll方法 3.nextUntil方法 jQuery学习笔记之过滤器三(向上查找兄弟元素.向下查找兄弟元素)

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

锋利的JQuery 学习笔记

第一章 认识JQuery ·页面加载事件(可以写多个ready())$(document).ready(function(){alert(“hello world”);}) ·链式操作:JQuery允许你在一句代码中操做任何与其相关联的元素,包括其子元素.父元素等//选择名称为myDiv的元素,为其自身添加css1的样式,然后再选择其所有子元素a,为其移除css2样式$(“#myDiv”).addClass(“css1″).children(“a”).removeClass(“css2″); ·