精华内容
下载资源
问答
  • 表单对象属性过滤选择器
  • 文章目录布隆过滤器 - Redis 布隆过滤器,Guava 布隆过滤器 BloomFilter1、布隆过滤器的起源,用途2、布隆过滤器的概念3、布隆过滤器的优缺点1、优点2、缺点4、应用场景5、布隆过滤器的工作原理6、布隆过滤器的设计 ...

    布隆过滤器 - Redis 布隆过滤器,Guava 布隆过滤器 BloomFilter


    1、布隆过滤器的起源,用途

    布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。

    2、布隆过滤器的概念

    如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢(O(n),O(logn))。不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射成一个位阵列(Bit array)中的一个点。这样一来,我们只要看看这个点是不是1就可以知道集合中有没有它了。这就是布隆过滤器的基本思想。

    Hash面临的问题就是冲突。假设Hash函数是良好的,如果我们的位阵列长度为m个点,那么如果我们想将冲突率降低到例如 1%, 这个散列表就只能容纳m / 100个元素。显然这就不叫空间效率了(Space-efficient)了。解决方法也简单,就是使用多个Hash,如果它们有一个说元素不在集合中,那肯定就不在。如果它们都说在,虽然也有一定可能性它们在说谎,不过直觉上判断这种事情的概率是比较低的。

    3、布隆过滤器的优缺点

    1、优点

    相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。布隆过滤器存储空间和插入/查询时间都是常数。另外, Hash函数相互之间没有关系,方便由硬件并行实现。布隆过滤器不需要存储元素本身,在某些对保密要求非常严格的场合有优势。

    布隆过滤器可以表示全集,其它任何数据结构都不能。

    2、缺点

    但是布隆过滤器的缺点和优点一样明显。误算率是其中之一。随着存入的元素数量增加,误算率随之增加。常见的补救办法是建立一个小的白名单,存储那些可能被误判的元素。但是如果元素数量太少,则使用散列表足矣。

    另外,一般情况下不能从布隆过滤器中删除元素。我们很容易想到把位列阵变成整数数组,每插入一个元素相应的计数器加1, 这样删除元素时将计数器减掉就可以了。然而要保证安全的删除元素并非如此简单。首先我们必须保证删除的元素的确在布隆过滤器里面. 这一点单凭这个过滤器是无法保证的。另外计数器回绕也会造成问题。

    在降低误算率方面,有不少工作,使得出现了很多布隆过滤器的变种。

    4、应用场景

    • 网页URL 去重
    • 垃圾邮件识别
    • 黑名单
    • 查询加速【比如基于KV结构的数据】
    • 集合元素重复的判断
    • 缓存穿透

    5、布隆过滤器的工作原理

    布隆过滤器本身是一个很长的二进制向量,既然是二进制的向量,那么显而易见的,存放的不是0,就是1。

    新建一个16位的布隆过滤器,如图
    在这里插入图片描述

    有一个对象,我们通过

    • 方式一计算他的hash值,得到hash = 2
    • 方式二计算他的hash值,得到hash = 9
    • 方式三计算他的hash值,得到hash = 5

    通过三个方法计算得到三个数值,我们把这三个数值对应的布隆过滤器向量值改为1,表明该位置有值。

    第二个对象,加入得到值1 6 3,就把1 6 3 改为1

    对于布隆过滤器本身来说,并没有存储任何数据,只是计算该数据的位置,然后存储向量值

    那么,如果需要判断某个数据是否存在于布隆过滤器,就只需要判断计算出来的所有向量值是否都为1即可


    但是:

    当存储的数据向量不断增多,就可能会出现,2 9 5 向量值都为1,但是实际上没有这个数据的情况,这样就导致了,布隆过滤器只能判断某个数据一定不存在,但是不能保证某个数据一定存在。

    另外,因为一个向量位置可能被多个对象映射,所以,布隆过滤器无法删除数据

    6、布隆过滤器的设计

    布隆过滤器思路比较简单,但是对于布隆过滤器的随机映射函数设计,需要计算几次,向量长度设置为多少比较合适,这个才是需要认真讨论的。

    如果向量长度太短,会导致误判率直线上升。
    如果向量太长,会浪费大量内存。
    如果计算次数过多,会占用计算资源,且很容易很快就把过滤器填满。

    展开全文
  • 表单对象属性过滤选择器选择器主要对所选择的表单元素进行过滤 1、:enabled 用法: $(”input:enabled”) 返回值 :集合元素 说明: 匹配所有可用元素.意思是查找所有input中不带有disabled=”disabled”的...

    表单对象属性过滤选择器

    此选择器主要对所选择的表单元素进行过滤
    1、:enabled
    用法: $(”input:enabled”)
    返回值 :集合元素
    说明: 匹配所有可用元素.意思是查找所有input中不带有disabled=”disabled”的input.不为disabled,当然就为enabled啦.
    2、:disabled
    用法: $(”input:disabled”)
    返回值 :集合元素
    说明: 匹配所有不可用元素.与上面的那个是相对应的.
    3、:checked
    用法: $(”input:checked”)
    返回值 :集合元素
    说明: 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option).这话说起来有些绕口.
    4、:selected
    用法: $(”select option:selected”)
    返回值 :集合元素
    说明: 匹配所有选中的option元素.


    表单对象属性过滤选择器示例

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>ddd</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
        <style type="text/css">
                div,span{
                    width: 140px;
                    height: 140px;
                    margin: 20px;
                    background: #9999CC;
                    border: #000 1px solid;
                    float:left;
                    font-size: 17px;
                    font-family:Roman;
                }
    
                div.mini{
                    width: 30px;
                    height: 30px;
                    background: #CC66FF;
                    border: #000 1px solid;
                    font-size: 12px;
                    font-family:Roman;
                }
         </style>
         <!--引入jquery的js库-->
    
        </head>
    
        <body>
    
             <input type="button" value="保存"  class="mini" name="ok"  class="mini"/>
             <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值"  id="b1"/>
             <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可用 <input> 元素的值"  id="b2"/>
             <input type="button" value=" 利用 jQuery 对象的 length 属性获取多选框选中的个数"  id="b3"/>
             <input type="button" value=" 利用 jQuery 对象的 text() 方法获取下拉框选中的内容"  id="b4"/>
    
    
             <input type="text" value="不可用值1" disabled="disabled"> 
             <input type="text" value="可用值1" >
             <input type="text" value="不可用值2" disabled="disabled">
             <input type="text" value="可用值2" >
    
             <br>
             <input type="checkbox" name="items" value="美容" >美容
             <input type="checkbox" name="items" value="IT" >IT
             <input type="checkbox" name="items" value="金融" >金融
             <input type="checkbox" name="items" value="管理" >管理
    
             <br>
              <input type="radio" name="sex" value="男" ><input type="radio" name="sex" value="女" ><br>
    
              <select name="job" id="job" multiple="multiple" size=4>
                <option>程序员</option>
                <option>中级程序员</option>
                <option>高级程序员</option>
                <option>系统分析师</option>
              </select>
    
              <select name="edu" id="edu">
                <option>本科</option>
                <option>博士</option>
                <option>硕士</option>
                <option>大专</option>
              </select>
    
    
             <div id="two" class="mini" >
                   id为two   class是 mini  div
                   <div  class="mini" >class是 mini</div>
            </div>
    
             <div class="one" >
                    class是 one 
                   <div  class="mini" >class是 mini</div>
                   <div  class="mini" >class是 mini</div>
             </div>
             <div class="one" >
                  class是 one 
                   <div  class="mini01" >class是 mini01</div>
                   <div  class="mini" >class是 mini</div>
            </div>
    
        </body>
    <script language="JavaScript">
    
            //<input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值"  id="b1"/>
            $("#b1").click(function(){
                /*
                 * <input type="text" value="不可用值1" disabled="disabled"> 
                     <input type="text" value="可用值1" >
                     <input type="text" value="不可用值2" disabled="disabled">
                     <input type="text" value="可用值2" >
                 */
                $("input[type=text]:enabled").val("xxx");
    
            });
            //<input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可用 <input> 元素的值"  id="b2"/>
            $("#b2").click(function(){
                $("input[type=text]:disabled").val("xxx");
            });
            //<input type="button" value=" 利用 jQuery 对象的 length 属性获取多选框选中的个数"  id="b3"/>
            $("#b3").click(function(){
                /*
                 * <input type="checkbox" name="items" value="美容" >美容
                     <input type="checkbox" name="items" value="IT" >IT
                     <input type="checkbox" name="items" value="金融" >金融
                     <input type="checkbox" name="items" value="管理" >管理
                 */
                alert($("input[type=checkbox]:checked").length);
    
            });
            //<input type="button" value=" 利用 jQuery 对象的 text() 方法获取下拉框选中的内容"  id="b4"/>
            $("#b4").click(function(){
                /*
                 * <select name="job" id="job" multiple="multiple" size=4>
                        <option >程序员</option>
                        <option>中级程序员</option>
                        <option>高级程序员</option>
                        <option>系统分析师</option>
                      </select>
    
                      <select name="edu" id="edu">
                        <option>本科</option>
                        <option>博士</option>
                        <option>硕士</option>
                        <option>大专</option>
                      </select>
                 */
                $("select option:selected").each(function(index,domEle){
                    alert($(domEle).text());
                });
    
            });
    
    </script>   
    </html>
    
    
    
    
    展开全文
  • 过滤器核心接口对象

    千次阅读 2018-04-14 16:39:20
    1、Filter接口每一个过滤器对象都要直接或间接的实现Filter接口,Filter接口中定义了三个方法,分别是:过滤器初始化方法,在过滤器初始化时调用。public void init(FilterConfig fcongfig)throws ServletExcep...

    Filter、FilterConfig、FilterChain是过滤器的三个核心接口对象,位于javax.servlet包中。

    1、Filter接口

    每一个过滤器对象都要直接或间接的实现Filter接口,在Filter接口中定义了三个方法,分别是:
    过滤器初始化方法,在过滤器初始化时调用。
    public void init(FilterConfig fcongfig)throws ServletException
    对请求进行过滤处理方法。

    public void doFilter(ServletRequest request,ServletResponse respone,FilterChain chain)


    2、FilterConfig接口

    FilterConfig接口主要用于获取过滤器中的配置信息,某方法主要由:
    用于获取过滤器的名字。
    public String getFilterName()
    获取Servlet上下文
    public ServletContext getServletContext()
    获取过滤器初始化参数。
    public String getlnitParameter(String name)

    获取过滤器的所有初始化参数


    3、FilterChain接口

    FilterChain接口中只有一个方法。
    此方法用于将过滤器后的请求传递给下一个过滤器,如果此过滤器已经是过滤器链中
    的最后一个过滤器,那么,请求将传给目标资源。
    public void doFilter(ServletRequest request,ServletResponse response)throws
    IOException ServleException

    展开全文
  • JQuery 几种选择器 和过滤器 获取标签对象 和元素 一、常用选择器 (一)★★基本选择器 #ID 选择器 : 通过id属性值查找标签对象 .class 选择器 : 通过class属性值查找标签对象 element 选择器 : 通过标签名查找...

    JQuery 几种选择器 和过滤器 获取标签对象 和元素

    一、常用选择器

    (一)★★基本选择器

    #ID     选择器 :  通过id属性值查找标签对象
    
    .class  选择器 :   通过class属性值查找标签对象
    
    element 选择器  :  通过标签名查找标签对象
    
    *       选择器  :  任意(全部标签)
    
    selector1,selector2 组合选择器:把selector1选择器的查找结果和selector2选择器的查找结果合并
    

    例子如下:

    分别将通按钮触发 基本选择器 的执行绑定到对应四个按钮的单击事件

    //引入类库
    <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
    
        <script type="text/javascript">
    
            $(function(){
                //1.选择 id 为 one 的元素并添加css样式 "background-color","#bbffaa"
    
           //绑定按钮单击事件并通过Id选择器获取jquery对象元素
                $("#btn1").click(function(){
                    $("#one").css("background-color","#bbffaa");
                });
    
                //2.选择 class 为 mini 的所有元素
                $("#btn2").click(function(){
                    $(".mini").css("background-color","#bbffaa");
                });
    
    
                //3.选择 元素名是 div 的所有元素 
                $("#btn3").click(function(){
                    $("div").css("background-color","#bbffaa");
                });             
    
    
                //4.选择所有的元素 
                $("#btn4").click(function(){
                    $("*").css("background-color","#bbffaa");
                }); 
    
    
                //5.选择所有的 span 元素和id为two的元素   
                $("#btn5").click(function(){
                    // 选择器1,选择器2
                    $("span,#two").css("background-color","#bbffaa");
                }); 
    
            });
        </script>
    

    body内的所有div效果:

    这里写图片描述
    id为two后面的div兄弟元素效果

    这里写图片描述

    (二)、层级选择器

    常见层级选择有:

    ancestor descendant后代选择器    查找给定元素的后代元素
    
    parent > child 子元素选择器     查找给定元素下的子元素
    
    prev + next 相邻元素选择器    查找给定的prev元素下的相连的next匹配的元素
    
    prev ~ sibings 兄弟元素选择器   查找给定的prev元素的后面的所有兄弟元素
    

    example:

    示例中有用到css样式的举例 分析css如下:

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Untitled Document</title>
    
    <!--此处使用css样式 定义和 约束的元素如下-->
    
    
        <style type="text/css">
            div, span, p {       <!--对所有div、span、p标签有效-->
                width: 140px;     <!--宽度为140个像素-->
                height: 140px;    <!--高度为140个像素-->
                margin: 5px;      <!--外边补丁5像素-->
                background: #aaa; <!--背景颜色为十六进制组合-->
                border: #000 1px solid;  <!--边框颜色 粗细程度 实线属性-->
                float: left;     <!--文本流向对象右边-->
                font-size: 17px; <!--文本文字大小17像素-->
                font-family: Verdana;
            }
    
            div.mini {
                width: 55px;
                height: 55px;
                background-color: #aaa;
                font-size: 12px;
            }
    
            div.hide {
                display: none;
            }           
        </style>
    

    选择器实现如下:

        <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
    
        <script type="text/javascript">
    
            $(document).ready(function(){
    
                //1.选择 body 内的所有 div 元素 
                $("#btn1").click(function(){
                    $("body div").css("background", "#bbffaa");
                });
    
    
                //2.在 body 内, 选择div子元素  
                $("#btn2").click(function(){
                    $("body>div").css("background", "#bbffaa");
                });
    
    
                //3.选择 id 为 one 的下一个 div 元素 
                $("#btn3").click(function(){
                    $("#one+div").css("background", "#bbffaa");
                });
    
    
                //4.选择 id 为 two 的元素后面的所有 div 兄弟元素
                $("#btn4").click(function(){
                    $("#two~div").css("background", "#bbffaa");
                });
            });
        </script>
    </head>
    

    html中body内容实现如下:

    <body>  
        <input type="button" value="选择 body 内的所有 div 元素" id="btn1" />
        <input type="button" value="在 body 内, 选择div子元素" id="btn2" />
        <input type="button" value="选择 id 为 one 的下一个 div 元素" id="btn3" />
        <input type="button" value="选择 id 为 two 的元素后面的所有 div 兄弟元素" id="btn4" />
        <br><br>
        <div class="one" id="one">
            id 为 one,class 为 one 的div
            <div class="mini">class为mini</div>
        </div>
        <div class="one" id="two" title="test">
            id为two,class为one,title为test的div
            <div class="mini" title="other">class为mini,title为other</div>
            <div class="mini" title="test">class为mini,title为test</div>
        </div>
        <div class="one">
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini"></div>
        </div>
        <div class="one">
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini" title="tesst">class为mini,title为tesst</div>
        </div>
        <div style="display:none;" class="none">style的display为"none"的div</div>
        <div class="hide">class为"hide"的div</div>
        <div>
            包含input的type为"hidden"的div<input type="hidden" size="8">
        </div>
        <span id="span">^^span元素^^</span>
    </body>
    </html>
    

    选择效果:
    这里写图片描述

    这里写图片描述

    (三)、过滤选择器

    一、基本过滤器:

    :first      返回jquery对象中的第一个
    :last    返回jquery对象中的最后一个
    :not(selector)  从jquery对象中删除符合selelctor选择器的元素
    :even   返回jquery对象中索引是偶数的元素
    :odd        返回jquery对象中索引是奇数的元素
    :eq(index)  返回jquery对象中给定索引的元素
    :gt(index)      返回jquery对象中索引大于index的元素
    :lt(index)      返回jquery对象中索引小于index的元素
    :header     返回h1 - h6标签
    :animated    返回正在执行动画的元素
    

    eg:

    <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                function anmateIt(){
                    $("#mover").slideToggle(2000, anmateIt);
                }
                anmateIt();
            });
    
            $(document).ready(function(){
                //1.选择第一个 div 元素  
                $("#btn1").click(function(){
                    $("div:first").css("background", "#bbffaa");
                });
    
                //2.选择最后一个 div 元素
                $("#btn2").click(function(){
                    $("div:last").css("background", "#bbffaa");
                });
    
                //3.选择class不为 one 的所有 div 元素
                $("#btn3").click(function(){
                    //1.先找div
                    //2.从div中去掉class为one的
                    $("div:not(.one)").css("background", "#bbffaa");
                });
    
                //4.选择索引值为偶数的 div 元素
                $("#btn4").click(function(){
                    //1.先找div、先过滤偶数:even
                    $("div:even").css("background", "#bbffaa");
                });
    
                //5.选择索引值为奇数的 div 元素
                $("#btn5").click(function(){
                    $("div:odd").css("background", "#bbffaa");
                });
    
                //6.选择索引值为大于 3 的 div 元素
                $("#btn6").click(function(){
                    $("div:gt(3)").css("background", "#bbffaa");
                });
    
                //7.选择索引值为等于 3 的 div 元素
                $("#btn7").click(function(){
                    $("div:eq(3)").css("background", "#bbffaa");
                });
    
                //8.选择索引值为小于 3 的 div 元素
                $("#btn8").click(function(){
                    $("div:lt(3)").css("background", "#bbffaa");
                });
    
                //9.选择所有的标题元素
                $("#btn9").click(function(){
                    $(":header").css("background", "#bbffaa");
                });
    
                //10.选择当前正在执行动画的所有元素
                $("#btn10").click(function(){
                    $(":animated").css("background", "#bbffaa");
                });
    
                //11.选择当前正在执行动画的所有元素
                $("#btn11").click(function(){
                    $("div:not(:animated):last").css("background", "#bbffaa");
                });
            });
        </script>
    </head>
    <body>      
    
        <input type="button" value="选择第一个 div 元素" id="btn1" />
        <input type="button" value="选择最后一个 div 元素" id="btn2" />
        <input type="button" value="选择class不为 one 的所有 div 元素" id="btn3" />
        <input type="button" value="选择索引值为偶数的 div 元素" id="btn4" />
        <input type="button" value="选择索引值为奇数的 div 元素" id="btn5" />
        <input type="button" value="选择索引值为大于 3 的 div 元素" id="btn6" />
        <input type="button" value="选择索引值为等于 3 的 div 元素" id="btn7" />
        <input type="button" value="选择索引值为小于 3 的 div 元素" id="btn8" />
        <input type="button" value="选择所有的标题元素" id="btn9" />
        <input type="button" value="选择当前正在执行动画的所有元素" id="btn10" />      
        <input type="button" value="选择没有执行动画的最后一个div" id="btn11" />
    
        <h3>基本选择器.</h3>
        <br><br>
        <div class="one" id="one">
            id 为 one,class 为 one 的div
            <div class="mini">class为mini</div>
        </div>
        <div class="one" id="two" title="test">
            id为two,class为one,title为test的div
            <div class="mini" title="other">class为mini,title为other</div>
            <div class="mini" title="test">class为mini,title为test</div>
        </div>
        <div class="one">
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini"></div>
        </div>
        <div class="one">
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini">class为mini</div>
            <div class="mini" title="tesst">class为mini,title为tesst</div>
        </div>
        <div style="display:none;" class="none">style的display为"none"的div</div>
        <div class="hide">class为"hide"的div</div>
        <div>
            包含input的type为"hidden"的div<input type="hidden" size="8">
        </div>
        <div id="mover">正在执行动画的div元素.</div>
    </body>
    </html>
    

    效果如下:

    class不为one的div
    这里写图片描述

    这里写图片描述


    二、内容过滤器:

    实现同基本过滤器一样

    :contains(text)    获取包含有给定字符串的元素
    :empty          返回没有子元素或者没有文本的元素
    :parent         返回带有子元素或者文本内容的元素
    :has(selector)      匹配含有选择器所匹配的元素的元素
    

    三、可见性过滤器

    :hidden 返回dispalay为none的元素或者input type = hidden的元素
    :visible    返回可见的元素
    

    例如:

    //里面都是绑定了按钮单击测试如:$("#btn1").click(function(){});
    
    $(document).ready(function(){
                //1.选取所有可见的  div 元素
                $("#btn1").click(function(){
                    $("div:visible").css("background", "#bbffaa");
                });
    
                //2.选择所有不可见的 div 元素
                //不可见:display属性设置为none,或visible设置为hidden
                $("#btn2").click(function(){
                    $("div:hidden").show(1000).css("background", "#bbffaa");
                    //.show("slow").css("background", "#bbffaa");
                });
    
                //3.选择所有不可见的 input 元素
                $("#btn3").click(function(){
    
                    alert( $("input:hidden").attr("value") );
                }); 
    }); 
    

    四、属性过滤器

    [attribute]     是返回含有指定属性的元素
    [attribute=value]   返回含有指定属性,并且值等于给定的value的元素
    [attribute!=value]  返回不拥有此拥有的元素,或者拥有此属性,但是属性值不等于给定value的元素
    [attribute^=value]  返回给定属性以指定的value打头的元素
    [attribute$=value]     返回给定属性以指定的value结尾的元素
    [attribute*=value]  返回给定属性含有给定value文本的元素
    [attrSel1][attrSel2][attrSelN]  返回同时符合多外属性选择器的元素。
    

    如下:

    $(function() {
        //1.选取含有 属性title 的div元素
        $("#btn1").click(function() {
            $("div[title]").css("background", "#bbffaa");
        });
    
        //2.选取 属性title值等于'test'的div元素
        $("#btn2").click(function() {
            $("div[title='test']").css("background", "#bbffaa");
        });
    
        //3.选取 属性title值不等于'test'的div元素(*没有属性title的也将被选中)
        $("#btn3").click(function() {
            $("div[title!='test']").css("background", "#bbffaa");
        });
    
        //4.选取 属性title值 以'te'开始 的div元素
        $("#btn4").click(function() {
            $("div[title^='te']").css("background", "#bbffaa");
        });
    
        //5.选取 属性title值 以'est'结束 的div元素
        $("#btn5").click(function() {
            $("div[title$='est']").css("background", "#bbffaa");
        });
        //6.选取 属性title值 含有'es'的div元素
        $("#btn6").click(function() {
            $("div[title*='es']").css("background", "#bbffaa");
        });
    
        //7.组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素
        //对于属性过滤选择器,如果多个写在一起,则后面过滤的对象是前面选择器过滤的结果
        $("#btn7").click(function() {
            $("div[id][title*='es']").css("background", "#bbffaa");
        });
        //8.选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素
        $("#btn8").click(function() {
            $("div[title!='test']").css("background", "#bbffaa");
        });
    });
    

    五、子元素过滤器

    :nth-child      返回指定序号的孩子元素,序号从1开始
    :first-child    返回jquery对象中第一个孩子元素
    :last-child 返回jquery对象中最后一个孩子元素
    :only-child 当元素中只且仅有一个子元素的时候,返回这个子元素
    

    实现:

    //1.选取每个class为one的div父元素下的第2个子元素并设置css
        $("#btn1").click(function(){
            //索引值从1开始
            //父元素选择器[空格]子元素选择器
            $(".one :nth-child(2)").css("background","#bbffaa");
        });
    
        //2.选取每个class为one的div父元素下的第一个子元素
        $("#btn2").click(function(){
            $(".one :first-child").css("background","#bbffaa");
        });
    
        //3.选取每个class为one的div父元素下的最后一个子元素
        $("#btn3").click(function(){
            $(".one :last-child").css("background","#bbffaa");
        });
    
        //4.如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素
        $("#btn4").click(function(){
            $(".one :only-child").css("background","#bbffaa");
        });
    
    });
    

    六、表单过滤器

    :input      返回input ,select,button,textarea 
    :text           返回 input type=text 元素  文本输入框    
    :password   返回 input type=password  返回密码框
    :radio          返回单选框
    :checkbox       返回复选框
    :submit         返回提交按钮
    :image          返回input type=image 元素
    :reset          返回重置按钮
    :button         返回input = button 以及 button按钮
    :file               返回 input type=file 文件上传的表单项
    :hidden         返回不可见的元素。包含display :none或 input type = hidden表单项
    

    (1)表单对象属性过滤选择器

    :enabled        返回可用的元素
    :disabled       返回不可用的元素
    :checked        返回单选,复选,下拉列表选中的option
    :selected       下拉列表选中的option
    

    实现:注意val()无参数为查询文本值 传入参数为设置新的文本值

    //1.对表单内 可用input 赋值操作
        $("#btn1").click(function(){
            $(":input").val("New Value");
        });
    
        //2.对表单内 不可用input 赋值操作
        $("#btn2").click(function(){
            $(":input:disabled").val("New Value Too");
        });
    
        //3.获取多选框选中的个数  使用size()方法获取选取到的元素集合的元素个数
        $("#btn3").click(function(){
            alert($(":checkbox:checked").size())
        });
    
        //4.获取多选框选中的内容
        $("#btn4").click(function(){
            var str = "";
            var eles = $(":checkbox:checked");
            console.log(eles);
            for(var i=0;i<eles.size();i++){
                str += "【"+$(eles[i]).val()+"】";
            }
            alert(str)
        });
    
        //5.获取下拉框选中的内容  
        $("#btn5").click(function(){
            var str = "";
            //注意这个选择器的特殊,因为select里面的option是真正的被选择项,
            //所以 :selected 选择器和 select[name='test']选择器的关系是子父关系
            //必须按照基本选择器选择后代的方法选
            //在body中如下
             /*
             <select name="test" multiple="multiple" style="height: 100px" id="sele1">
                <option>浙江</option>
                <option selected="selected">辽宁</option>
                <option>北京</option>
                <option selected="selected">天津</option>
                <option>广州</option>
                <option>湖北</option>
            </select>
            */
    
            var els = $("select[name='test'] :selected");
            console.log(els);
            for(var i=0;i<els.size();i++){
                str += "【"+$(els[i]).val()+"】";
            }
            alert(str)
        });
    

    七、JQuery元素的筛选

    eq()        获取jquery对象中给定索引的元素,跟:eq() 功能相同
    first() 获取jquery对象中第一个元素
    last()  获取jquery对象中最后一个元素
    hasClass(class)     相当于is判断是否拥有某一个class值
    filter(exp) 留下符合给定选择器的元素
    is()        是判断jquery对象中,只要有一个元素符合给定的选择器就返回true
    has(exp)    返回jquery对象包含给定exp选择器的元素的元素
    not(exp)    从jquery对象中删除符合exp选择器的元素
    children(exp)   从jquery对象中返回符合exp选择器的子元素
    find()      从jquery对象中返回符合exp选择器的后代元素
    next()      返回jquery对象集合中每一个元素的下一个同辈元素
    nextAll()       返回jquery对象集合中每一个元素的后面所有的同辈元素
    nextUntil()   查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。
    parent()        获取jquery对象的父元素
    prev(exp)       获取jquery对象的前一个同辈元素
    prevAll()       获取jquery对象的前面所有同辈元素
    prevUnit(exp)   查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止。
    siblings(exp)   获取当前元素的所有同辈元素
    add()       把与表达式匹配的元素添加到jQuery对象中
    

    实现如:

    //(10)next() #one的下一个div获取并设置css
        $("#btn10").click(function(){
            $("#one").next("div").css("background-color","#bfa");
        });
    
        //(11)nextAll() #one后面所有的span元素
        $("#btn11").click(function(){
            $("#one").nextAll("span").css("background-color","#bfa");
        });
    
        //(12)nextUntil() #one和span之间的元素
        $("#btn12").click(function(){
            $("#one").nextUntil("span").css("background-color","#bfa")
        });
    
        //(13)parent() .mini的父元素
        $("#btn13").click(function(){
            $(".mini").parent().css("background-color","#bfa");
        });
    
        //(14)prev() #two的上一个div
        $("#btn14").click(function(){
            $("#two").prev().css("background-color","#bfa")
        });
    
        //(15)prevAll() span前面所有的div
        $("#btn15").click(function(){
            $("span").prevAll("div").css("background-color","#bfa")
        });
    
        //(16)prevUntil() span向前直到#one的元素
        $("#btn16").click(function(){
            $("span").prevUntil("#one").css("background-color","#bfa")
        });
    
        //(17)siblings() #two的所有兄弟元素
        $("#btn17").click(function(){
            $("#two").siblings("div").css("background-color","#bfa")
        });
    
    
        //(18)add()选择所有的 span 元素和id为two的元素
        $("#btn18").click(function(){
            //$("span , #two").css("background-color","#bfa"); 
            //add()相当于向数组中添加对象,他会按照元素在文档中的顺序进行添加
            //jQuery方法的链式调用,之所以可以使用链式调用,是因为大部的jquery方法,都会返回调用方法的对象
            //$("span,#two,.mini,.#one")
            $("span").add("#two")
                    .add(".mini")
                    .add("#one")
                    .css("background-color","#bfa");
    
        });
    
    展开全文
  • 说明:使用MaskTriple设置过滤器选择对象 测试代码:设置过滤器选择圆弧曲线 //使用MaskTriple设置过滤器选择对象 #include <uf_defs.h> #include <NXOpen/NXException.hxx> #include <NX...
  • 可见性过滤选择器 可见性过滤选择器是指根据元素的可见性来筛选元素的选择器选择器 描述 返回 :hidden 选取所有的不可见元素,或者ytpe为hidden的元素 jQuery对象数组 :visible 选取所有的可见元素 ...
  • 我建立一个全局拦截,此拦截主要用于拦截APP用户登录和请求API时候,必须加密,我把它命名为SecurityFilter,它继承了Filter,web应用启动的顺序是:listener-&gt;filter-&gt;servlet,而因为项目应用了...
  • vue过滤器filters获取不到this对象

    万次阅读 2019-04-21 13:08:03
    参考:https://github.com/vuejs/vue/issues/5998
  • NX选择对象设置过滤

    千次阅读 2017-12-24 22:45:12
    选择对象Selection有特殊选择要求的情况下需要设置选择过滤。 需要设置两个变量 1.NXOpen.Selection.SelectionAction maskAction = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific;(指示选择对象...
  • SpringSecurity常用过滤器介绍

    千次阅读 2019-12-05 11:47:21
      本文我们来介绍下SpringSecurity中常用的过滤器及其加载的过程。 一、常用的过滤器   常用的过滤器有15个,分别如下: 1.org.springframework.security.web.context.SecurityContextPersistenceFilter   ...
  • Filter过滤器(超详细)

    万次阅读 多人点赞 2021-01-17 16:03:49
    什么是过滤器 Filter 过滤器它是 JavaWeb 的三大组件之一。 三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器 Filter 过滤器它是 JavaEE 的规范。也就是接口 Filter 过滤器它的作用是:拦截请求,...
  • 表单对象属性过滤选择器

    千次阅读 2013-12-12 17:54:08
    1.表单对象属性过滤选择器 (1):enabled用法$("input:enabled") (2):disabled用法$("input:disabled") (3):checked用法$("input:checked")匹配所有被选中元素(复选框,单选框,不包括select中的option) (4):...
  • 有时我们需要在过滤器中获取自动注入的对象的实例,如果filter中也通过自动注入的方式往往得到的结果是null,如果通过new一个对象的话,有时可能是我们想要的结果,有时我们只是想获取spring上下文中唯一的一个...
  • 求教,我想在过滤器中通过HttpServletResponse对象获取相应内容,这个要怎么获取
  • 布隆过滤器究竟是什么,这一篇给讲的明明白白的

    万次阅读 多人点赞 2020-06-12 14:23:27
    不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大燥,面试中面试官问到怎么避免缓存穿透,你的第一反应可能就是布隆过滤器,缓存穿透=布隆过滤器成了标配,但具体什么是布隆过滤器,怎么使用布隆过滤...
  • Servlet过滤器

    千次阅读 2019-03-11 10:48:46
    Servlet过滤器是从Servlet2.3规范开始新增的功能,并Servlet2.4规范中得到增强。Servlet过滤器主要用于对客户端(浏览器)的请求进行过滤处理,先将过滤后的请求转交给下一资源,它Java Web开发中具有十分重要的...
  • 二、Vue过滤器filters使用方法 (Vue 中使用「过滤器」filters) 过滤器 插值表达式 {{ }} 和 v-bind 表达式 中,然后由管道操作符“ | ”进行指示。 过滤器是一个函数,它会把表达式 中的值始终当作函数的第一...
  • javaWeb过滤器–filter-过滤器的执行流程 filter-过滤器的执行流程 一个同学进校园,先会遇到保安,如果该同学出校园,也会碰到保安 过滤器的执行流程 tomcat引擎将http请求转成request对象,http响应转response...
  • web.xml中配置过滤器

    千次阅读 2020-05-07 16:54:04
    web.xml中配置过滤器 <filter> <filter-name>loginFilter</filter-name>//过滤器名称 <filter-class>com.ygj.control.loginFilter</filter-class>//过滤器类的包路径 <...
  • 拦截器与过滤器的区别

    万次阅读 多人点赞 2019-06-20 23:11:09
    文章目录一、二者理解过滤器(Filter)拦截器(Interceptor)二、...过滤器,是java web中将你传入的request、response提前过滤掉一些信息,或者提前设置一些参数。然后再传入Servlet或Struts2的 action进行业务逻...
  • SpringMVC——过滤器

    万次阅读 多人点赞 2018-02-23 20:38:51
    SpringMVC——过滤器实现和理解 一、先提出几个问题 ?过滤器是什么? ?过滤器是如何实现的? ?过滤器和拦截器的区别? ?过滤器的核心原理是什么(阅读源码)? 之前我学东西总是不够深入,现在决定换个...
  • 过滤器与拦截器详解

    万次阅读 多人点赞 2019-02-17 16:51:45
    依赖于servlet容器,实现基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,过滤器一般用于登录...
  • 【Servlet】过滤器技术

    千次阅读 2021-02-16 21:19:37
    过滤器的运行原理 过滤器过滤器的核心接口 Filter FilterConfig FilterChain 过滤器的生命周期 过滤器的开发 过滤器的应用 过滤器 过滤器(Filter)也称之为拦截器,是Servlet 2.3规范新增的功能,Servlet 2.4...
  • 布隆过滤器设置合适指标

    千次阅读 2019-10-11 15:55:57
    布隆过滤器用于快速检测不存在数据,主要用位数组的结构来存储。其中为了保证布隆过滤器有适当的正确率通常会设置几个参数。 设: k = hash函数个数,用于将一个数据通过不同hash函数计算为不同值,如“test” ...
  • Vue教程08(过滤器的使用)

    千次阅读 多人点赞 2019-07-12 20:59:48
    过滤器可以用两个地方:mustache 插值和 v-bind 表达式。过滤器应该被添加 JavaScript 表达式的尾部,由“管道”符指示(" | "); 分类:过滤器分为全局过滤器和局部过滤器(私有过滤器) 全局过滤器   我们先...
  • 过滤器(Filter)和拦截器(Interceptor)的区别

    万次阅读 多人点赞 2018-05-11 11:57:52
    来自:http://www.cnblogs.com/luoyun/archive/2013/01/04/2844274.html过滤器(Filter)和拦截器(Interceptor)的区别Filter介绍 Filter可以认为是Servlet的一种“加强版”,它主要用于对用户请求进行预处理,也可以...
  • Java Web中过滤器和监听器重点总结

    千次阅读 2019-01-29 23:42:14
    过滤器: 是向Web应用程序的请求和响应添加功能的Web服务组件 过滤器可以统一的集中处理请求和响应 使用过滤器技术实现对请求数据的过滤 过滤器用于拦截传入的请求和传出的响应 监视、修改或以某种方式处理正在...
  • 拦截过滤器模式

    千次阅读 2019-09-25 20:01:21
    定义过滤器,并把请求传给实际目标应用程序之前应用请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。 过滤器(Filter) - 过滤器在请求处理...
  • 管道—过滤器简介 软件体系结构

    千次阅读 2020-05-02 21:20:53
    单步数据处理封装一个过滤器中,数据在过滤器之间的管道传输。 以便实现对数据的多次操作。 如下图所示: data source(数据源),filter(过滤器)和data sink(数据汇点)三者,使用pipe(管道)进行连接 过滤...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 400,536
精华内容 160,214
关键字:

对象选择过滤器在哪