@mdui/jq
Version:
拥有和 jQuery 相似 API 的轻量级 JavaScript 工具库
22 lines (21 loc) • 714 B
JavaScript
import { $ } from '../$.js';
import { isFunction, isString } from '../shared/helper.js';
import './is.js';
import './map.js';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
$.fn.filter = function (selector) {
if (isFunction(selector)) {
return this.map((index, element) => {
return selector.call(element, index, element) ? element : undefined;
});
}
if (isString(selector)) {
return this.map((_, element) => {
return $(element).is(selector) ? element : undefined;
});
}
const $selector = $(selector);
return this.map((_, element) => {
return $selector.get().includes(element) ? element : undefined;
});
};