JQuery选择器、过滤器大整理

经过一晚上的查找整理,终于整理出一套应该算最全面的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");

(0)

相关推荐

  • jQuery可见性过滤器:hidden和:visibility用法实例

    本文实例讲述了jQuery可见性过滤器:hidden和:visibility用法.分享给大家供大家参考.具体分析如下: :hidden 匹配所有不可见元素,如果使用css的visibility属性让元素不显示但是占位,则不属于hidden了 查找display:none的tr元素,$("tr:hidden") :visible 匹配所有可见元素 查找所有display不为none的元素,$("tr:visible") 例子: <tr id="one&

  • JQuery 选择器、过滤器介绍

    今日的学习再结合昨天的JavaScriptDOM的内容,让我对此十分清晰.JQuery原则:"write less, do more.",这句话已充分说明它对简化使用JavaScriptDOM编程的功力! 每位老师都有自己的教学方式,可能根据教授的内容的不同教学方式也有轻微的变化.老佟是一位非常有经验的软件教师,之前他在大连的软件公司做培训.经过多年的总结,他已经有自己一套成熟的教学方式.这个方式让我十分喜欢!至于是什么方式,你自己来体验吧!哈哈~~ 从学习JavaWEB.Struts

  • 从jquery的过滤器.filter()方法想到的

    最近发现了jquery的.filter()方法,这真是一个很强大的方法,最强大之处在于,他可以接受一个函数作为参数,然后根据函数的返回值判断,如果返回值是true,这个元素将被保留,如果返回值是false,这个元素将被剔除.这就是jquery选择器的过滤器. 空说无用,我们展示一下 复制代码 代码如下: <body> <p>你好啊,今天及多大了啊</p> <p><span>为什么要告诉你</span></p> </b

  • jquery中通过过滤器获取表单元素的实现代码

    :enable 获取可输入状态的元素 :disabled 获取不可输入状态的元素 :checked 获取选中的表单元素 :seleced 获取下拉框中选中的元素 下面看一粒例子 Html 复制代码 代码如下: <body> <form id="form1" runat="server"> <div> <ul> <li><label>订单号码:</label><input typ

  • jQuery表单域属性过滤器用法分析

    本文实例讲述了jQuery表单域属性过滤器用法.分享给大家供大家参考.具体分析如下: 表单内包含各种各样的表单域,使用表单域属性选择器可以很好的获取已被选中的单选按钮,复选框以及列表项,也可以根据是否可用从文档中查找表单域. 1. :checked选择器 用于选择所有被选中的表单域.格式: 复制代码 代码如下: $("selector:checked") 可以是input,radio和checkbox 2. :enabled选择器 用于选择所有可用的表单域,格式: 复制代码 代码如下:

  • Jquery 过滤器(first,last,not,even,odd)的使用

    复制代码 代码如下: $(function(){ $("#menu li:first").click(function(){ $(this).addClass("b"); }); $("#menu li:last").text("最后");//id为menu的li列表中最后一个li元素插入文字"最后" $("#menu li:first").text("第一");//

  • jQuery ajax 路由和过滤器使用说明

    遗憾的是,我用到的一个遗留系统并没有做到这样.于是在客户端应用jQuery的ajaxPrefilter改造了一下调用方法. 复制代码 代码如下: <html> <head> <title>ajaxPrefilter demo</title> </head> <body> <script type="text/javascript" src="http://code.jquery.com/jquery

  • jQuery使用contains过滤器实现精确匹配方法详解

    本文实例讲述了jQuery使用contains过滤器实现精确匹配的方法.分享给大家供大家参考,具体如下: :contains 选择器选取包含指定字符串的元素. 该字符串可以是直接包含在元素中的文本,或者被包含于子元素中. 经常与其他元素/选择器一起使用,来选择指定的组中包含指定文本的元素,如: $("p:contains(is)") 表示选择所有包含 "is" 的 <p> 元素. 再如: $("p:contains(张三)") 或 $

  • JQuery的常用选择器、过滤器、方法全面介绍

    1.jQuery对象转换成DOM对象 a. var $cr = $("#cr"); //jQuery对象 var cr=$cr[0]; //DOM对象 alert(cr.checked); //检测checkbox是否被选中了 b. var $cr=$("#cr"); //jQuery对象 var cr=$cr.get(0); //DOM对象 alert(cr.checked); //检测checkbox是否被选中了 2.DOM对象转换成jQuery对象 var c

  • jQuery contains过滤器实现精确匹配使用方法

    复制代码 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <!--<script src=&qu

  • jQuery中过滤器的基本用法示例

    本文实例讲述了jQuery中过滤器的基本用法.分享给大家供大家参考,具体如下: HTML正文: <input type="button" id="b1" value="偶数行红色"><br> <input type="button" id="b2" value="奇数行绿色"><br> <table border=1 width=&q

随机推荐