code: function(_direct){
          var _$matches = $._$matches;
  
          return function(_selector, _all){
              var _ret = $([]);
              if(typeof _selector === "boolean"){
                  _all = _selector;
                  _selector = null;
              }
              this._$forEach(function(_node){
                  var _tmp = _node[_direct];
                  while (_tmp) {
                    if(_tmp.nodeType ===1 && (!_selector || _$matches(_tmp, _selector))){
                      _ret._$add(_tmp);
                      if(!_all) break;
                    }
                    _tmp = _tmp[_direct];
                  }
              });
              return _ret;
          };
      }
docs: proto function 扩展 ================================