手机版

基于jquery的has()方法及其与find()方法和filter()方法的区别

时间:2021-11-20 来源:互联网 编辑:宝哥软件园 浏览:

Has(选择器或DOM元素)会根据选择器或DOM元素作为条件匹配元素集,在每个元素的后代中搜索条件是否存在,并将满足条件的元素组成新的结果集。下面是一个示例:复制代码如下: ul listitem 1/Li listitem 2 ul lidivspan/span/div listitem 2-a/Li listitem 2-b/Li/ul/Li listitem 3/Li listitem 4/Li/ul复制代码如下: $ ('Li ')。have(' span ')。CSS('背景色','红色');结果如下:

从这个例子可以看出,当li匹配时,需要检查span是否包含在li的后代元素中,如果包含,则该元素包含在结果中。如果不是,那么排除。注:has仅作为法官。检查原始结果集中的元素是否与has参数中的选择器或DOM元素一致。不合格的元素被移除,合格的元素形成一个新的结果集。这与find()方法不同,find()方法是获取当前结果集中每个元素的后代。参数(选择器、jquery集或DOM元素)用作过滤条件,满足过滤条件的参数将被保留,而作为后代的参数将被保留。在has()方法中,参数仅用作条件。如果满足条件,它的前一个元素将被添加到新的结果集中,而不是它的后代。$('li ')。查找(' span ')。css('背景色','红色');结果是:

filter()方法和has()方法中的参数是筛选条件。不同的是,filter()方法,条件作用于自身;has()方法的条件是作用于它的后代元素。以下面的例子为例:在filter()方法中,条件作用于自己li,Has()方法条件是作用于li的后代元素的复制代码如下: ul Li class=' a ' listitem 1/Li listitem 2 ul lidivspan/span/div listitem 2-a/Li listitem 2-b/Li/ul/Li listitem 3/Li listitem 4/Li/ul复制代码如下: $ ('Li ')。筛选器('。a’)。CSS('背景色','红色');结果是:

版权声明:基于jquery的has()方法及其与find()方法和filter()方法的区别是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。