如何在jquery中使用filter()函数

本篇文章给大家分享的是有关如何在jquery中使用filter()函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

定义和用法

filter() 方法返回符合一定条件的元素。

该方法让您规定一个条件。不符合条件的元素将从选择中移除,符合条件的元素将被返回。

该方法通常用于缩小在被选元素组合中搜索元素的范围。

提示:filter() 方法是与 not() 方法相对的。

 filter()是根据括号中的 属性来进行筛选 比如:$(“p”).filter(“p”) 这样是不允许的。filter括号里只一些属性,或者包含什么的,不能是一个元素,例如”p”

//filter() --获取具有某些属性值的标签 :(指定的对象集合进行过滤)
  $("li").filter(".item-1") //获取class属性值为item-1的li元素
  $("li").filter(":even").css("background", "red"); //获取所有偶数号的li元素,并将它们的背景颜色设为红色
  $("li").filter(".item-1,#abc").css("background-color", "yellow"); //获取class属性值为item-1的所有li标签 ,同时获取id属性值为abc的所有li标签
  $("p").filter(".selected, :first");//获取class属性值为selected的所有P标签,同时获取第一个P标签

//:contains() --获取标签里包含了某些文字的标签 (contains是判断文本的)
  //jQuery:has()和jQuery:contains()两个方法比较类似。不同点在于:has是判断标签的 contains是判断文本的
  $("p p:contains('测试')").text(); //获取p标签下包含“测试”的p标签的text值 //打印一下,结果为“测试1 测试2”
  //alert($("p").contains("测试").text()); //不能这么用,提示错误“contains不是一个函数”

html

<div class="model_content" >
      <div class="model_content_search layui-bg-gray">
        <form class="layui-form">
          <div class="layui-form-item fl" >
            <label class="layui-form-label" >选择框</label>
            <div class="layui-input-inline" >
              <input id="search_val" class="layui-input" name="keyword" type="text" placeholder="请输入关键字">
            </div>
          </div>
          <div class="layui-input-inline fl" >
            <button class="layui-btn">搜索</button>
          </div>
          <div class="clear"></div>
        </form>
      </div>
      <div class="search_result">
        <div class="mapAddress">
          <ul>
            <li>
              <div class="addressInfo">
                <h4>要素大市场</h4>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h4>锦绣大道</h4>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h4>蜀山区</h4>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h4>瑶海区</h4>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
          </ul>
        </div>
      </div>
    </div>

 //input中输入筛选
    var $sub2 = $("#search_val");
    $sub2.on("input", function () {
      var $iptVal2 = $sub2.val();
      $(".mapAddress li").hide();
      $(".mapAddress .addressInfo h4").filter(":contains('" + $iptVal2 + "')").parents("li").show();
    });

以上就是如何在jquery中使用filter()函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。