@mdui/jq
Version:
拥有和 jQuery 相似 API 的轻量级 JavaScript 工具库
46 lines (45 loc) • 1.31 kB
TypeScript
import type { PlainObject } from './helper.js';
/**
* 为了使用模块扩充,这里不能使用默认导出
*/
export declare class JQ<T = HTMLElement> implements ArrayLike<T> {
[index: number]: T;
length: number;
constructor(arr?: ArrayLike<T>);
}
/**
* 为了使用模块扩充,这里不能使用默认导出
*/
export interface JQStatic {
[method: string]: unknown;
/**
* 根据 HTML 字符串或 CSS 选择器创建 JQ 对象
*/
<T extends HTMLElement = HTMLElement>(htmlOrSelector: string): JQ<T>;
/**
* HTMLSelectElement 是 Element, 也是 ArrayLike,JQ 把它视为 Element
*/
(element: HTMLSelectElement): JQ<HTMLSelectElement>;
/**
* 根据 DOM 元素,DOM 元素数组创建 JQ 对象
*/
<T extends Element>(element: T | ArrayLike<T>): JQ<T>;
/**
* 传入 JQ 对象,返回 JQ 对象
*/
<T>(selection: JQ<T>): JQ<T>;
/**
* Document 加载完成后执行函数
*/
<T = HTMLElement>(callback: (this: Document, $: JQStatic) => void): JQ<T>;
/**
* 传入键值对,返回含键值对的 JQ 对象
*/
<T extends PlainObject>(object: T): JQ<T>;
(object: any): JQ;
/**
* 返回空的 JQ 对象
*/
<T = HTMLElement>(): JQ<T>;
fn: JQ<unknown>;
}