美文网首页
jQuery九种过滤方法

jQuery九种过滤方法

作者: 就想叫菜鸟 | 来源:发表于2017-08-01 00:11 被阅读0次

jQuery的过滤

jQuery的过滤分共为九种方法

1. .eq(): 减少匹配元素的集合为指定的所索引的哪一个元素。

  • .eq(index): 一个整数,指示元素的位置,以0为基数。
  • .eq(-index): 一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。

2. .filter(): 筛选元素集合中匹配表达式 或通过传递函数测试的 那些集合。

  • .filter(selector): 一个用于匹配元素的选择器字符串。
    <ul>
        <li>list item 1</li>
        <li>list item 2</li>
        <li>list item 3</li>
        <li>list item 4</li>
        <li>list item 5</li>
    </ul>
    
    <script type="text/javascript">
        $("li").filter(':even').css('background-color', 'red');
    </script>
  • .filter( function(index)): 一个函数用作测试集合中的每个元素。this是当前DOM元素。
<body>
    <ul>
        <li>list <strong>item 1</strong></li>
        <li><strong>list</strong> <strong>item 2</strong></li>
        <li>list item 3</li>
    </ul>
</body>
<script type="text/javascript">
    $('li').filter(function(index){
        return $('strong', this).length==1;
    }).css('color', 'red');
</script>
//该代码是只改变有一个strong标签的li
  • .filter(element): 一个匹配当前元素集合的元素。
$('div').filter($('#unique'));
  • .filter(jQuery object): 现有jQuery对象,用于进一步筛选当前元素集合。
$("div").filter(document.getElementById("unique"));

3. .first(): 获取匹配元素集合中的第一个元素。

  • .first(): 该方法不接受任何参数。

4. .has(): 筛选匹配元素集合中的那些有相匹配的选择器或DOM元素的后代元素。

  • .has(selector): 一个用于匹配元素的选择器字符串。
<ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>
<script>
    $('li').has('ul').css('background-color', 'red');
</script>

5. is(): 判断当前匹配的元素集合中的元素,是否为一个选择器, DOM元素, 或者jQuery对象, 如果这些元素至少匹配一个给定的参数, 那么返回true

  • .is(selector): 一个字符串,包含一个用来匹配元素的选择器表达式
  • .is(element): 一个用于匹配元素的DOM元素
  • .is(jquery object):现有的jQuery对象, 以匹配当前元素
<ul>
  <li>list <strong>item 1</strong></li>
  <li><span>list item 2</span></li>
  <li>list item 3</li>
</ul>
<script>
$("ul").click(function(event) {
  var $target = $(event.target);
  if ( $target.is("li") ) {
    $target.css("background-color", "red");
  }
});
</script>
  • .is(function(index)): 一个函数,用来测试集合中元素, 它接受一个参数,index, 这是元素在jQuery集合中的索引位置, 在函数中, this指的是当前的DOM元素
<ul>
    <li><strong>list item 1</strong></li>
    <li><strong>list</strong> <strong> item 2</strong></li>
    <li>list item 3</li>
</ul>
        
<script>
    $(document).ready(function() {
        $("li").click(function() {
            var isWithTwo = $(this).is(function() {
                return $('strong', this).length===2;
            })
            
            if(isWithTwo) {
                $(this).css("background-color",'red');
            } else {
                $(this).css("background-color",'green');
            }
        })
    })
</script>

6. .last():获取匹配元素集合中的最后一个元素

  • .last(): 该方法不接受任何参数。

7. .map(): 通过一个函数匹配当前集合中的每一个元素, 产生一个包含新的jQuery对象。

  • .map(callback(index, domElement)): 一个函数对象, 会在处理集合中的每一个元素时被调用。
<div id="1">1</div>
<div id="2">1</div>
<div id="3">1</div>
<div id="4">1</div>
<p></p>
<script>
    $("p").append( $("div").map(function() {
    return this.id;
    }).get().join(", ") );
    //这里不能采用$(this).id, 因为jQuery对象并没有这个方法
    //这里的this指向每次迭代时当前的DOM元素
    
</script>

8. .not(): 从匹配的元素集合中移除指定的元素

  • .not(selector): 一个用于匹配元素的选择器字符串
  • .not(function(index)): 一个函数用作测试集中的每个元素

9. .slice(): 根据指定的元素集合,过滤匹配的元素集合,并生成一个新的jQuery对象

  • .slice(start, end): 这里的start指的是起始坐标, end指的是结束坐标。这里包含start,不包含end。
  • .slice(start): 指从开始到结束。

相关文章

  • jQuery 过滤

    jQuery 的过滤方法可以允许我们根据特定元素在一组元素中的位置来选择该元素。关于 jQuery 过滤方法有以下...

  • jQuser有选择器

    jQuery基本选择器 jQuery过滤选择器 jQuery层级选择器 jQuery筛选选择器(方法)

  • jQuery九种过滤方法

    jQuery的过滤 jQuery的过滤分共为九种方法 1. .eq(): 减少匹配元素的集合为指定的所索引的哪一个...

  • 初识jQuery之jQuery方法(二)

    1.jQuery方法之filter,not,has filter : 过滤 not : filter的反义词 ha...

  • 利用jquery子属性过滤器实现隔行变色

    利用jquery子属性过滤器实现隔行变色 之前这个方法不够简单css实现隔行换色 - 简书 参考 jQuery子属...

  • jQuery笔记(三)-- 使用过滤器

    jQuery选择器能够模仿CSS和XPath语法,提供高效、准确匹配元素的方法,jQuery过滤器是一系列简单,实...

  • 【小结】jQuery查找与过滤相关方法

    本篇文章主要总结了jQuery查找与过滤相关方法使用方式例如:$('.aside').find('.javascr...

  • JQuery的过滤filter()方法

    和函数式编程的map、filter类似,jQuery对象也有类似的方法。 filter()方法可以过滤掉不符合选择...

  • jQuery相关复习

    jQuery相关 jQuery选择器 参考手册 基本选择器 层次选择器 过滤选择器 可见性过滤选择器 属性过滤选择...

  • jQuery过滤

    缩写搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许基于其在一组元素...

网友评论

      本文标题:jQuery九种过滤方法

      本文链接:https://www.haomeiwen.com/subject/lqudlxtx.html