jQuery选择器解释和说明

jQuery选择器的意义在于快速的找出特定的DOM元素,然后添加相应的行为。

基本选择器
 //选择 id为 one 的元素
      $('#btn1').click(function(){
          $('#one').css("background","#bfa");
      });
      //选择 class 为 mini 的所有元素
      $('#btn2').click(function(){
          $('.mini').css("background","#bfa");
      });
      //选择 元素名是 div 的所有元素
      $('#btn3').click(function(){
          $('div').css("background","#bfa");
      });
      //选择 所有的元素
      $('#btn4').click(function(){
          $('*').css("background","#bfa");
      });
      //选择 所有的span元素和id为two的div元素
      $('#btn5').click(function(){
          $('span,#two').css("background","#bfa");
      });    
  
层次选择器
//选取所有后代元素
$("ancestor descendant")
//选取父元素下的子元素(注意和第一个的区别)
$("parent>child")
//选取紧跟在prev后面的next元素
$("prev+next")
/*选取prev元素之后的所有siblings元素,
可以用next方法来替代
eg:$(".one+div");等价于$(".one").next("div");
 */
$("prev~siblings")
/*(注意和siblings()方法的区别,
siblings()和前后位置无关,匹配所有同辈节点)
可以用nextAll()方法来替代*/
 
 过滤选择器  1基本过滤选择器
        $('#btn1').click(function(){
          $('div:first').css("background","#bfa");
      })
      //选择最后一个div元素.
      $('#btn2').click(function(){
          $('div:last').css("background","#bfa");
      })
      //选择class不为one的 所有div元素.
      $('#btn3').click(function(){
          $('div:not(.one)').css("background","#bfa");
      })
      //选择 索引值为偶数 的div元素。
      $('#btn4').click(function(){
          $('div:even').css("background","#bfa");
      })
      //选择 索引值为奇数 的div元素。
      $('#btn5').click(function(){
          $('div:odd').css("background","#bfa");
      })
      //选择 索引等于 3 的元素
      $('#btn6').click(function(){
          $('div:eq(3)').css("background","#bfa");
      })
      //选择 索引大于 3 的元素
      $('#btn7').click(function(){
          $('div:gt(3)').css("background","#bfa");
      })
     //选择 索引小于 3 的元素
      $('#btn8').click(function(){
          $('div:lt(3)').css("background","#bfa");
      })
       //选择 所有的标题元素.比如h1, h2, h3等等...
      $('#btn9').click(function(){
          $(':header').css("background","#bfa");
      })
      //选择 当前正在执行动画的所有元素.
      $('#btn10').click(function(){
          $(':animated').css("background","#bfa");
      });
      //选择 当前获取焦点的所有元素.
      $('#btn11').click(function(){
          $(':focus').css("background","#bfa");
      });    

 2内容过滤选择器

           //选取含有文本"di"的div元素.
          $('#btn1').click(function(){
          $('div:contains(di)').css("background","#bbffaa");
      })
      //选取不包含子元素(或者文本元素)的div空元素.
      $('#btn2').click(function(){
          $('div:empty').css("background","#bbffaa");
      })
      //选取含有class为mini元素 的div元素.
      $('#btn3').click(function(){
          $("div:has('.mini')").css("background","#bbffaa");
      })
      //选取含有子元素(或者文本元素)的div元素.
      $('#btn4').click(function(){
          $('div:parent').css("background","#bbffaa");
      })    

3可见性过滤选择器

 //给id为mover的元素添加动画.
       function animateIt() {
          $("#mover").slideToggle("slow", animateIt);
        }
        animateIt();
      
        //选取所有不可见的元素.包括<input type="hidden"/>.
      $('#btn_hidden').click(function(){
          alert( "不可见的元素有:"+$('body :hidden').length +"个!
"+
           "其中不可见的div元素有:"+$('div:hidden').length+"个!
"+
           "其中文本隐藏域有:"+$('input:hidden').length+"个!");
          $('div:hidden').show(3000).css("background","#bbffaa");
      })
      //选取所有可见的元素.
      $('#btn_visible').click(function(){
          $('div:visible').css("background","#FF6500");
      })

4属性过滤选择器

//选取 属性title值 以 en 开始 的div元素.
  $('#btn1').click(function(){
    $('div[title^="en"]').css("background","#bbffaa");
  })
  //选取 属性title值 含有 en  的div元素.
  $('#btn2').click(function(){
    $('div[title*="en"]').css("background","#bbffaa");
  })
  //选取 属性title等于en或以en为前缀(该字符串后跟一个连字符'-')的元素
  $('#btn3').click(function(){
    $('div[title|="en"]').css("background","#bbffaa");
  })
  //选取 属性title用空格分隔的值中包含字符uk的元素.
  $('#btn4').click(function(){
    $('div[title~="uk"]').css("background","#bbffaa");
  })

5子元素过滤选择器

//选取每个父元素下的第2个子元素
      $('#btn1').click(function(){
          $('div.one :nth-child(2)').css("background","#bbffaa");
      })
      //选取每个父元素下的第一个子元素
      $('#btn2').click(function(){
          $('div.one :first-child').css("background","#bbffaa");
      })
      //选取每个父元素下的最后一个子元素
      $('#btn3').click(function(){
          $('div.one :last-child').css("background","#bbffaa");
      })
      //如果父元素下的仅仅只有一个子元素,那么选中这个子元素
      $('#btn4').click(function(){
          $('div.one :only-child').css("background","#bbffaa");
      })
   
欢迎关注微信公众号:“花栗鼠的红松树” 知乎专栏:“花栗鼠的红松树” 知乎: 卓怡 https://www.zhihu.com/people/zhuoyisun/activities
原文地址:https://www.cnblogs.com/s-z-y/p/4323785.html