一、选择器是什么

有了jQuery的选择器,我们几乎可以获取页面上任意一个或一组对象

二、Dom对象和jQuery包装集

1.Dom对象

JavaScript中获取Dom对象的方式

<div id="divMsg">Hello World</div>
<script>
var div = document.getElementById("divMsg");
console.log(div);
var divs = document.getElementsByTagName("div");
console.log(divs);
</script>

输出的结果

2.jQuery包装集

可以理解为是Dom对象的扩展,在jQuery的世界中所有的对象,都被封装成一个jQuery包装集,包装集是一个集合

<div id="divMsg">Hello World</div>
<script>
$(function () {
var div = $("#divMsg");
console.log(div);
var divs = $("div");
console.log(divs);
})
</script>

输出的结果

3.Dom对象与jQuery对象的转换

(1)Dom转jQuery包装集

<div id="divMsg">Hello World</div>
<script>
//第一步:获取Dom元素对象
var div = document.getElementById("divMsg");
//第二步:使用$()来转换
var $div = $(div);
console.log($div);
</script>

(2)jQuery包装集转Dom对象

注:通过索引器返回的不再是jQuery包装集,而是一个Dom对象

<div id="divMsg">Hello World</div>
<script>
//第一步:通过索引器从包装集获取一个元素
var div = $("#divMsg")[0];
console.log(div);
</script>

三、选择器的分类

1.jQuery选择器按照功能主要分为“选择”和“过滤”。并且可以配合使用,可以同时使用组合成一个选择器字符串。主要的区别是:“过滤”作用的选择器是指定条件从前面匹配的内容中筛选,“过滤”选择器也可以单独使用,表示从全部“*”中帅选。比如

$(":[title]") 等同于 $("*:[title]")

而“选择”功能的选择器则不会有默认的范围,因为作用是“选择”而不是“过滤”;

2.基础选择器Basics

  1 $("#divId") 		         选取ID为divId的元素
2 $("a") 选取所有<a>元素
3 $(".bgRed") 选取class为bgRed的元素
4 $("*") 选取所有元素
5 $("#divId, a.bgRed") 选取ID为divId的元素,和class为.bgRed的<a>元素

3.层次选择器

  1 $(".bgRed div") 		选取class为bgRed的元素中的所有<div>元素
2 $(".myList>li") 选取class为myList元素中的直接子节点<li>对象
3 $("#hibiscus+img") 选取在id为hibiscus元素后面的img对象
4 $("#someDiv~[title]") 选取id为someDiv的对象后面所有带有title属性的元素

4.基本过滤器Basic Filters

  1 $("tr:first")		         选取第一个<tr>元素
2 $("tr:last") 选取最后一个<tr>元素
3 $("input:not(:checked)") 选取未选中的 <input> 元素
4 $("tr:odd") 选取偶数位置的<tr>元素
5 $("tr:eq(1)") 选取第2个<tr>元素(索引从0开始)
6 $("tr:gt(0)") 选取索引大于等于1的<tr>元素
7 $("tr:lt(2)") 选取索引小于2的<tr>元素
8 $(":header") 选取页面所有的标题

5.内容过滤器Content Filters

  1 $("div:contains('Kimisme')")     选取包含 "Kimisme" 的 <div>元素
2 $("td:empty") 选取不包含子元素或者文本的<td>元素
  3 $("div:has(p)")		选取含有<p>元素的<div>元素
4 $("td:parent") 选取含有子元素或者文本的 <td> 元素

6.可见性过滤器 Visibility Filters

  1 $("tr:hidden")			选取不可见的 <tr> 元素:
2 $("tr:visible") 选取可见的 <tr> 元素:

7.属性过滤器 Attribute Filters

  1 $("div[id]")			选取含有 id 属性的 <div> 元素
2 $("input[name='newsletter']") 选取 name 属性是 newsletter 的 <input> 元素
3 $("input[name!='newsletter']") 选取 name 属性不是 newsletter 的 <input> 元素
4 $("input[name^='news']") 选取 name 属性以news开头的 <input> 元素
5 $("input[name$='letter']") 选取 name 以 letter 结尾的 <input> 元素:
6 $("input[name*='man']") 选取 name 包含 man 的 <input> 元素
7 $("input[id][name$='man']") 选取含有 id 属性,并且它的 name 属性是以 man 结尾的<input>元素

8.子元素过滤器 Child Filters

  1 $("ul li:nth-child(2)")		在 <ul> 元素中查找第2个 <li> 元素
2 $("ul li:first-child") 在 <ul> 元素中查找第1个 <li> 元素
3 $("ul li:last-child") 在 <ul> 元素中查找最后一个 <li> 元素
4 $("ul li:only-child") 在 <ul> 元素中查找是唯一子元素的 <li> 元素

9.表单选择器Forms

  1 $(":input")			选取所有的<input>元素
2 $(":text") 选取所有type=”text”的文本框
3 $(":password") 选取所有密码框
4 $(":radio") 选取所有单选按钮
5 $(":checkbox") 选取所有复选框
6 $(":submit") 选取所有提交按钮
7 $(":image") 选取所有图像域
8 $(":reset") 选取所有重置按钮
9 $(":button") 选取所有按钮
10 $(":file") 选取所有文件域

10.表单过滤器Form Filters

  1 $("input:enabled")		选取所有可用的input元素:
2 $("input:disabled") 选取所有不可用的input元素:
3 $("input:checked") 选取所有选中的复选框元素:
4 $("select option:selected") 选取所有选中的<select>元素:

四、参考文章

http://www.cnblogs.com/zhangziqiu/archive/2009/05/03/jQuery-Learn-2.html

五、备注

样式发不出来还是不行,还是要用table,有空再改

jQuery学习笔记(2)-选择器的使用的更多相关文章

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

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

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

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

  3. JQuery学习笔记之选择器

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

  4. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  5. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  6. jQuery学习笔记(一):入门

      jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...

  7. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  8. jQuery 学习笔记:jQuery 代码结构

    jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...

  9. jQuery学习笔记之插件开发(4)

    jQuery学习笔记之插件开发(4) github源码地址 插件:了让原有功能的增强. 1.插件的种类(3种):局部.全局.选择器插件 1.1封装对象方法的插件 这种类型的插件是把一些常用或者重复使用 ...

随机推荐

  1. [bzoj1934/2768][Shoi2007]Vote 善意的投票_最小割

    Vote 善意的投票 bzoj-1934 Shoi-2007 题目大意:题目链接. 注释:略. 想法: 这是最小割的一个比较基本的模型. 我们将所有当前同意的小朋友连向源点,边权为1.不容易的连向汇点 ...

  2. Remove Element(第一种方法参考别人)

    Given an array and a value, remove all instances of that value in place and return the new length. T ...

  3. java监控工具jconsole

    jconsole可以监控本地和远程进程 jvisualvm

  4. Python学习系列之format用法

    format是代替%s格式的方法 不需要理会数据类型的问题,在%s方法中的%s只能代替字符串类型 填充方式十分灵活,对其方式十分强大 format填充字符串 通过位置来填充字符串 #format会把参 ...

  5. react 项目实战(二)创建 用户添加 页面 及 fetch请求 json-server db.json -w -p 8000

    1.安装 路由 npm install -S react-router@3.x 2.新增页面 我们现在的应用只有一个Hello React的页面,现在需要添加一个用于添加用户的页面. 首先在/src目 ...

  6. kvm虚拟化网络管理

    Linux Bridge 网桥管理 VM2 的虚拟网卡 vnet1 也连接到了 br0 上. 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信 # Vlan LAN ...

  7. .net mvc4 + ajaxfileupload.js 解决IE浏览器中弹出下载对话框问题

    摘要:每一个人遇到的问题都不一样,在网上找了一大圈都没有解决到我的问题!由于我的环境如标题所看到的.攻克了这个问题. 主要问题:在于响应头的设置 Controller: [HttpPost] publ ...

  8. nyoj 739 笨蛋的难题四

    笨蛋难题四 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 这些日子笨蛋一直研究股票,经过调研.最终发现xxx公司股票规律,更可喜的是 笨蛋推算出这家公司每天的股价, ...

  9. 扩展gcd求解二元不定方程及其证明

    #include <cstdio> #include <iostream> using namespace std; /*扩展gcd证明 由于当d = gcd(a,b)时: d ...

  10. Scala界面事件处理

    演示样例代码: import scala.swing.SimpleSwingApplication import scala.swing.MainFrame import scala.swing.Bu ...