JQuery选择过滤器

JS代码

1.DOM对象与JQuery包装集

通过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];

如果要使用JQuery提供的函数首先要构造JQuery包装集,通过$()返回的即是JQuery包装集。

var text11_jquery=$("#text11");

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

  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];

在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

      根据标签名进行选择 

        var input_query=$("input");

      根据id值选取

        var text11_query=$("#text11");

      根据class值进行选取

        var text11_query=$(".text11");

     同时选择多个符合条件的JQuery包装集用,号分隔条件

        var text_query=$("#text11,.text12");

     选择所有DOM元素

        var all_query=$("*");

2.层次选择器 Hierarchy
            从所有tr标签中获取其下面的所有id值为text11的元素

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

     获取所有td标签下的所有直接input子元素

        var input_query=$("td>input");

     获取id为text11元素后面的class为button11元素,只获取一个符合条件的元素。text11与button11在地位上属于同级关系

        var button11_query=$("#text11+.button11");

     获取id为text11元素后面的所有class为button11的元素

        var button11_query=$("#text11~.button11");

3.基本过滤器 Basic Filters
            获取第一个input元素

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

     获取最后一个input元素

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

     获取所有未被选中的input元素

        var input_query=$("input:not(:checked)");

     查找所有奇数的input元素

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

     查找所有偶数位的input元素

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

      查找索引为1的input元素,索引值从0算起

        var input_query=$("input:eq(1)");

       查找索引大于0的所有input元素

        var input_query=$("input:gt(0)");

        查找索引小于2的所有input元素

        var input_query=$("input:lt(2)");

        获取页面所有 <h>标题元素

        var h_query=$(":header");

        获取所有正在执行动画效果的元素

        var animated_query=$(":animated");

4. 内容过滤器 Content Filters
              查找所有html内容含有"你好世界!"的h1元素

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

        获取所有不含子标签或html内容为空的td元素

        var td_query=$("td:empty");

        查找所有含有input子元素的td元素

        var td_query=$("td:has(input)");

        查找所有含有子标签或有html内容的td元素

        var td_query=$("td:parent");

5.可见性过滤器  Visibility Filters


        查找所有隐藏的input元素

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

        查找所有可见的input元素

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

6.属性过滤器 Attribute Filters
以下id,name等属性名,也可换成其他属性名,或自定义的属性名


        查找所有含有id属性的input元素

        var input_query=$("input[id]");

        查找name属性值为text11的input元素

        var input_query=$("input[name='text11']");
    

         查找name属性值不等于text11的所有input元素

        var input_query=$("input[name!='text11']");

        

        查找name属性值以text开头的input元素

        var input_query=$("input[name^='text']");

        查找name属性值以11结尾的所有input元素

        var input_query=$("input[name$='11']");

        查找name属性值中含有ext的所有input元素

        var input_query=$("input[name*='ext']");

        查找所有含有id属性并且name值中含有ext的input元素

        var input_query=$("input[id][name*='ext']");

7.子元素过滤器 Child Filters


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

         查找所有在父元素中的所有子元素中排第2的input元素

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

        查找所有在父元素中的所有子元素中排第一的input元素

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

         查找所有在父元素中所有子元素中排最后一个的input元素

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

        查找所有在父元素中是唯一子元素的input元素

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

8.表单选择器 Forms


        查找所有input元素

        var input_query=$(":input");

         查找所有文本框元素

        var text_query=$(":text");

         查找所有密码框元素

        var password_query=$(":password");

        查找所有复选框

        var checkbox_query=$(":checkbox");

        查找所有提交按钮元素

        var submit_query=$(":submit");

        查找所有图像域元素

        var image_query=$(":image");


        查找所有重置按钮元素

        var reset_query=$(":reset");

        查找所有按钮元素

        var button_query=$(":button");

        查找所有文件域元素

        var file_query=$(":file");

9. 表单过滤器 Form Filters


        查找所有可用的input元素

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

         查找所有不可用的input元素

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

         查找所有选中的单选复选框

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

        查找所有选中的下拉框

        var option_query=$("option:selected");


10.其他常见使用

                

$('a,div,p');
$('div.myClass');  //所有拥有myClass类的div元素
$('div.myClass1.myClass2');


$('table#myID');  //id为myID的table元素
$('ul.myUl li a');

$('div.myClass a:first');  
$('div.muClass p:odd'); 
$('table#myTable td:nth-child(3)');//第三个
$('table#myTable td:nth-child(3n)');//能被3整数
$('table#myTable tr:nth-child(2n+1)');


11.复合例子

  //多条件选择
        $('#td1,#td2,p').css('color','red');
        //选择内容不是id=td1
        $('tbody td:not(#td1)').css('color','green');
        //选择条件1 attr1="a1" 和 条件2 attr2="a2"的元素
        $('[attr1="a1"][attr2="a2"]').css('color','blue');
        //选择条件1 attr1="a1" 或者 条件2 attr2="a2"的元素
        $('[attr1="a1"],[attr2="a2"]').css('color','yellow');
 
        //选择不满足 条件1 attr1="a1" 的元素
        $('tbody td[attr1!="a1"]').css('color','purple');
         
        //选择不满足 条件1 attr1="a1" 或 条件2 attr2="a2"的元素
        $('tbody td:not([attr1="a1"],[attr2="a2"])').css('color','orange');
        $('tbody td[attr1!="a1"][attr2!="a2"]').css('color','black');
 
        //选择不满足 条件1 attr1="a1" 和 条件2 attr2="a2"的元素
        $('tbody td:not([attr1="a1"][attr2="a2"])').css('color','#ff7700');
        $('tbody td[attr1!="a1"],tbody td[attr2!="a2"]').css('color','black');
 
        //选择tboy中td标签attr1!="a1" 和 所有标签中attr2!="a2", 即除了<td id="td3" attr1="a1" attr2="a2">3</td>的其它所有标签元素
        $('tbody td[attr1!="a1"],[attr2!="a2"]').css('color','grey');


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值