JQuery选择器、过滤器大整理


Posted in Javascript onMay 26, 2015

经过一晚上的查找整理,终于整理出一套应该算最全面的JQuery选择过滤器的方法了。所有代码均经过测试。

首先HTML代码

HTML Code
<html>

<head>

<script type="text/javascript" src="JQuery/jquery-1.5.1.js"></script>

</head>

<body>

<form name="form1" id="form1" class="form1" action="" method="post">
  <table name="table1" id="table1" class="table1">

    <tr name="tr1" id="tr1" class="tr1">

      <td name="td11" id="td11" class="td11" nowrap>

      <input type="text" name="text11" id="text11" class="text11" value="text11"/>

      <input type="button" name="button11" id="button11" class="button11" value="button11"/>

      </td>

      <td name="td12" id="td12" class="td12">

      <input type="text" name="text12" id="text12" class="text12" value="text12"/>

      <input type="hidden" name="hidden12" id="hidden12" class="hidden12" value="hidden12"/>

      </td>

      <td name="td13" id="td13" class="td13">

      <input type="text" name="text13" id="text13" class="text13" value="text13"/>

      </td>

    </tr>

    <tr name="tr2" id="tr2" class="tr2">

      <td name="td21" id="td21" class="td21">

      <input type="password" name="password21" id="password21" class="password21" value="password21"/>

      <input type="radio" name="radio21" id="radio21" class="radio21" value="radio21" checked/>

      <input type="checkbox" name="checkbox21" id="checkbox21" class="checkbox21" value="checkbox21" checked/>

      </td>

      <td name="td22" id="td22" class="td22" nowrap>

      <input type="submit" name="submit22" id="submit22" class="submit22" value="submit22"/>

      <input type="image" name="image22" id="image22" class="image22" value="image22"/>

      <input type="reset" name="reset22" id="reset22" class="reset22" value="reset22"/>

      </td>

      <td name="td23" id="td23" class="td23">

      <input type="file" name="file23" id="file23" class="file23" value="file23"/>

      </td>

    </tr>

    <tr name="tr3" id="tr3" class="tr3">

      <td name="td31" id="td31" class="td31">
  <select name="select31" size="1">

    <option value="select311">option1</option>

    <option value="select312" selected>option2</option>

    <option value="select313">option3</option>

  </select>
      </td>

      <td name="td32" id="td32" class="td32"></td>

      <td name="td33" id="td33" class="td33"></td>

    </tr>

  </table>

</form>

<h1>你好世界!</h1>

</body>

</html>

JS代码

1.DOM对象与JQuery包装集

1.通过document.getElementById(),document.getElementsByName()等取的就是DOM对象或DOM对象集,前者取的是对象,后者取得DOM对象集

var text11_dom=document.getElementById("text11");

var text11_dom=document.getElementsByName("text11")[0];

var text11_dom=document.all.text11;//此处text11即可以是name值也可以是id值

var text11_dom=document.all[10];

2.如果要使用JQuery提供的函数首先要构造JQuery包装集,通过$()返回的即是JQuery包装集。
var text11_jquery=$("#text11");

2.JQuery包装集与DOM对象互相转换

1.DOM对象不能使用JQuery属性方法,但DOM对象可以通过$()转换成JQuery包装集

var text11_dom=document.getElementById("text11");

var text11_jquery=$(text11_dom);

2.JQuery包装集可以使用部分DOM对象的属性方法如.length,但也有个别属性方法不能使用如.value,可以通过在JQuery包装集后面加中括号及索引值获取对应DOM对象
var text11_dom=$("#text11")[0];

3.在each循环时或触发事件时的this也是DOM对象
$("#text11").click(function(){

    var text11_dom_value=this.value;

    alert(text11_dom_value);

});

3.$符号在JQuery中代表对JQuery对象的引用,JQuery的核心方法有四个

1.jQuery(html[,ownerDocument]):根据HTML原始字符串动态创建Dom元素

$("<div><p>Hello!</p></div>").appendTo("body");

2.jQuery( elements ):将一个或多个Dom对象封装为jQuery包装集,就是上面的DOM对象与JQuery包装集转换

3.jQuery( callback ):$(document).ready()的简写方式

$(function(){

    alert("Hello!");

});

 4.JQuery(selector[,context]):在指定范围内查找符合条件的JQuery包装集,context为查找范围,context可以是DOM对象集也可以是JQuery包装集
在所有tr标签中查找id为text11元素的JQuery包装集
var text11_query=$("#text11","tr");

===================jQuery选择器===================

1. 基础选择器 Basics

1.根据标签名进行选择

var input_query=$("input");

2.根据id值选取
var text11_query=$("#text11");

 3.根据class值进行选取
 
var text11_query=$(".text11");

 4.同时选择多个符合条件的JQuery包装集用,号分隔条件
 
var text_query=$("#text11,.text12");

 5.选择所有DOM元素
 
var all_query=$("*");

2.层次选择器 Hierarchy

1.从所有tr标签中获取其下面的所有id值为text11的元素

var text11_query=$("tr #text11");

 2.获取所有td标签下的所有直接input子元素
 
var input_query=$("td>input");

 3.获取id为text11元素后面的class为button11元素,只获取一个符合条件的元素。text11与button11在地位上属于同级关系
 
var button11_query=$("#text11+.button11");

 4.获取id为text11元素后面的所有class为button11的元素
 
var button11_query=$("#text11~.button11");

3.基本过滤器 Basic Filters

1.获取第一个input元素

var input_query=$("input:first");

 2.获取最后一个input元素
 
var input_query=$("input:last");

 3.获取所有未被选中的input元素
 
var input_query=$("input:not(:checked)");

 4.第一个input元素算一,查找所有第奇数个的input元素
 
var input_query=$("input:even");

 5.从第二个input算起,查找所有第偶数个的input元素
 
var input_query=$("input:odd");

 6.查找索引为1的input元素,索引值从0算起
 
var input_query=$("input:eq(1)");

 7.查找索引大于0的所有input元素
 
var input_query=$("input:gt(0)");

 8.查找索引小于2的所有input元素
 
var input_query=$("input:lt(2)");

 9.获取页面所有<h>标题元素
 
var h_query=$(":header");

 10.获取所有正在执行动画效果的元素
 
var animated_query=$(":animated");

4. 内容过滤器 Content Filters

1.查找所有html内容含有"你好世界!"的h1元素

var h1_query=$("h1:contains('你好世界!')");

 2.获取所有不含子标签或html内容为空的td元素
 
var td_query=$("td:empty");

 3.查找所有含有input子元素的td元素
 
var td_query=$("td:has(input)");

 4.查找所有含有子标签或有html内容的td元素
 
var td_query=$("td:parent");

5.可见性过滤器  Visibility Filters

1.查找所有隐藏的input元素

var input_query=$("input:hidden");

 2.查找所有可见的input元素
 
var input_query=$("input:visible");

6.属性过滤器 Attribute Filters
1.查找所有含有id属性的input元素
var input_query=$("input[id]");

 2.查找name值为text11的input元素
 
var input_query=$("input[name='text11']");

 3.查找name值不等于text11的所有input元素
 
var input_query=$("input[name!='text11']");

 4.查找name值以text开头的input元素
 
var input_query=$("input[name^='text']");

 5.查找name值以11结尾的所有input元素
 
var input_query=$("input[name$='11']");

 6.查找name值中含有ext的所有input元素
 
var input_query=$("input[name*='ext']");

 7.查找所有含有id属性并且name值中含有ext的input元素
 
var input_query=$("input[id][name*='ext']");

7.子元素过滤器 Child Filters

1.查找所有在父元素中的所有子元素中排第2的input元素
nth-child()里参数可选even在这里算偶数,odd在这里算奇数,n任意数即选取所有有父元素的input元素,数字是直接选排在第几个的input元素,第一个input元素算一

var input_query=$("input:nth-child(2)");

2.查找所有在父元素中的所有子元素中排第一的input元素
var input_query=$("input:first-child");

 3.查找所有在父元素中所有子元素中排最后一个的input元素
 
var input_query=$("input:last-child");

 4.查找所有在父元素中是唯一子元素的input元素
 
var input_query=$("input:only-child");

8.表单选择器 Forms

1.查找所有input元素

var input_query=$(":input");

 2.查找所有文本框元素
 
var text_query=$(":text");

 3.查找所有密码框元素
 
var password_query=$(":password");

 4.查找所有复选框
 
var checkbox_query=$(":checkbox");

 5.查找所有提交按钮元素
 
var submit_query=$(":submit");

 6.查找所有图像域元素
 
var image_query=$(":image");

 7.查找所有重置按钮元素
 
var reset_query=$(":reset");

 8.查找所有按钮元素
 
var button_query=$(":button");

 9.查找所有文件域元素
 
var file_query=$(":file");

9.表单过滤器 Form Filters

1.查找所有可用的input元素

var input_query=$("input:enabled");

 2.查找所有不可用的input元素
 
var input_query=$("input:disabled");

 3.查找所有选中的单选复选框
 
var input_query=$("input:checked");

 4.查找所有选中的下拉框
 
var option_query=$("option:selected");
Javascript 相关文章推荐
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
你不知道的高性能JAVASCRIPT
Jan 18 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
js原生之焦点图转换加定时器实例
Dec 12 Javascript
Underscore之Array_动力节点Java学院整理
Jul 10 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
Jul 13 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
Vue2.2.0+新特性整理及注意事项
Aug 22 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
javascript字符串与数组转换汇总
May 26 #Javascript
javascript获取文档坐标和视口坐标
May 26 #Javascript
浅谈javascript事件取消和阻止冒泡
May 26 #Javascript
javascript事件冒泡和事件捕获详解
May 26 #Javascript
解析javascript中鼠标滚轮事件
May 26 #Javascript
JS中字符串trim()使用示例
May 26 #Javascript
JSON字符串和对象之间的转换详解
May 26 #Javascript
You might like
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
php 安全过滤函数代码
2011/05/07 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
python Django框架实现自定义表单提交
2016/03/25 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
美的官方商城:Midea
2016/09/14 全球购物
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
企业统计员岗位职责
2013/12/13 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
个人评价范文分享
2014/01/11 职场文书
会计工作决心书
2014/03/11 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
产品质量承诺范本
2014/03/31 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
学生会主席任命书
2015/09/21 职场文书
2019公司管理制度
2019/04/19 职场文书