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" style="">
      <div class="model_content_search layui-bg-gray">
        <form class="layui-form">
          <div class="layui-form-item fl" style="margin-top: 15px;">
            <label class="layui-form-label" style="width:66px;">选择框</label>
            <div class="layui-input-inline" style="width:174px;">
              <input id="search_val" class="layui-input" name="keyword" type="text" placeholder="请输入关键字">
            </div>
          </div>
          <div class="layui-input-inline fl" style="margin-top: 15px;">
            <button class="layui-btn">搜索</button>
          </div>
          <div class="clear"></div>
        </form>
      </div>
      <div class="search_result">
        <div class="mapAddress">
          <ul>
            <li>
              <div class="addressInfo">
                <h3>要素大市场</h3>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h3>锦绣大道</h3>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h3>蜀山区</h3>
                <span class="bold">地址:</span>徽州大道与锦绣大道交叉口<br>
              </div>
            </li>
            <li>
              <div class="addressInfo">
                <h3>瑶海区</h3>
                <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 h3").filter(":contains('" + $iptVal2 + "')").parents("li").show();
    });

总结

以上所述是小编给大家介绍的jquery的 filter()方法使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • jQuery中filter()方法用法实例

    此方法能够筛选出与指定表达式或者方法返回值相匹配的元素或者元素集合. 语法结构一: 筛选出与指定表达式匹配的元素集合. 复制代码 代码如下: $(selector).filter(expr) 参数列表: 参数 描述 expr 字符串值,用于筛选当前元素集合的选择器表达式. 实例代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name

  • jQuery里filter()函数与find()函数用法分析

    本文实例讲述了jQuery里filter()函数与find()函数用法.分享给大家供大家参考.具体分析如下: $("div .cont"); 等价于$("div").find(".cont") filter()函数是作用在集合的每一个对象($(这里是什么得到的就是什么))上, find()函数是在每一个对象内部查找匹配表达式的子元素 例子: <div class="cont"><p class="c

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

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

  • jQuery中filter()和find()的区别深入了解

    一直不是很清楚filter()方法和find()方法的区别,今天在看jQuery Cookbook一书中,终于算是搞清楚了. filter()过滤DOM元素包装集,是指操作当前元素集,删除不匹配的元素,得到一个新的集合 复制代码 代码如下: $('div').filter('.div1');//选择div标签中class属性为div1的div元素 find()在当前选中元素的上下文中找到符合条件的后代,返回的是子元素 复制代码 代码如下: $('div').find('em');//选择div标

  • jquery中filter方法用法实例分析

    本文实例讲述了jquery中filter方法用法.分享给大家供大家参考.具体分析如下: filter()方法将匹配元素集合缩减为匹配指定选择器的元素. filter方法中的参数可以为字符串值,包含供匹配当前元素集合的选择器表达式.   一.filter的参数类型可分为两种   1.传递选择器 $('a').filter('.external')   2.传递过滤函数 复制代码 代码如下: $('a').filter(function(index) {         return $(this)

  • 基于jquery的has()方法以及与find()方法以及filter()方法的区别详解

    has(selector选择器或DOM元素)   将匹配元素集合根据选择器或DOM元素为条件,检索该条件在每个元素的后代中是否存在,将符合条件的的元素构成新的结果集. 下面举一个例子: 复制代码 代码如下: <ul>  <li>list item 1</li>  <li>list item 2    <ul>      <li><div><span>a</span></div>list

  • jQuery中filter(),not(),split()使用方法

    filter()和not(): 复制代码 代码如下: <script type="text/javascript"> $(document).ready(function() { //输出 hello alert($("p").filter(".selected").html()); //输出 How are you? alert($("p").not(".selected").html());

  • jQuery中each()、find()和filter()等节点操作方法详解(推荐)

    1.each(callback) 官方解释: 返回值:jQuery 概述 以每一个匹配的元素作为上下文来执行一个函数. 意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素).而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型). 返回 'false' 将停止循环 (就像在普通的循环中使用 'break').返回 'true' 跳至下一个循环(就像在普通的循环中使用'

  • jQuery 过滤方法filter()选择具有特殊属性的元素

    现在有这样一种需求,需要选出所有有背景图片的元素. 这个问题有点棘手.我们无法使用选择表达式来完成这个问题了. 使用jQuery的DOM过滤方法filter(),可以根据函数中表达的任何条件选择元素. jQuery中的过滤器方法允许传递一个字符串(也就是选择器表达式)作为参数. 或者传递的是一个函数.它的返回值将定义某个元素是否被选中. 传递的函数将对当前选择集中的每个元素运行. 当函数返回假时,对应的函数就从选择集中被删除掉.每当返回值为真的时候,对应的元素 不受影响. 复制代码 代码如下:

  • jQuery filter函数使用方法

    利用filter函数可以从wrapper set中过滤符合条件的DOM元素. 如果我们有一个内容如下的html文件,要获取类为external的<a>元素,使用filter可以很easy地搞定. 复制代码 代码如下: <a href="#" class="external">link</a> <a href="#" class="external">link</a>

随机推荐