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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
jquery 打开窗口返回值实现代码
Mar 04 Javascript
JavaScript 判断指定字符串是否为有效数字
May 11 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
jQuery替换textarea中换行的方法
Jun 10 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 Javascript
JavaScript动态检测密码强度原理及实现方法详解
Jun 11 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
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
php顺序查找和二分查找示例
2014/03/27 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
Python通过Pillow实现图片对比
2020/04/29 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
思想品德自我鉴定
2013/10/12 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
个人务虚会发言材料
2014/10/20 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript