easy

DocsVersion : 1.0.0

filter( elems, selector )

静态方法Define in : selector.js

从 DOM 元素数组中过滤符合条件的元素。

参数
  • elems
    Element Array
    必需

    待过滤的 DOM 元素数组。

  • selector
    String|
    Function
    必需

    用于过滤的选择器,也可以是一个过滤函数。过滤函数接收1个参数,该参数是当前遍历的索引值,过滤函数的 this 指向当前遍历的 DOM 元素。

返回值
  • Element Array

    过滤后的 DOM 元素数组。

例子1

过滤 li 元素中 className 为 item3 的元素。

HTML代码:
<ul id="list">
    <li class="item1">test1</li>
    <li class="item2">test2</li>
    <li class="item3">test3</li>
    <li class="item4">test4</li>
    <li class="item5">test5</li>
    <li class="item6">test6</li>
</ul>
JavaScript代码:
var li = E.query( '#list li' ),
    item3 = E.filter( li, '.item3' );
    
console.log( item3[0].calssName ); // item3

也可以是属性和伪类选择器,但是查找速度比基本选择器要慢些。

JavaScript代码:
var li = E.query( '#list li' ),
    item3 = E.filter( li, 'li[class="item3"]' );
    
console.log( item3[0].calssName ); // item3

第二个参数也可以是过滤函数。

JavaScript代码:
var li = E.query( '#list li' ),
    items = E.filter( li, function( i ){
        return this.className === 'item3' || i === 4;
    });
    
console.log( items ); // [ <li class="item3">test3</li>, <li class="item5">test5</li> ]