@whitesev/domutils 1.6.7 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +1955 -1067
- package/dist/index.amd.js.map +1 -1
- package/dist/index.amd.min.js +2 -0
- package/dist/index.amd.min.js.map +1 -0
- package/dist/index.cjs.js +1955 -1067
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +2 -0
- package/dist/index.cjs.min.js.map +1 -0
- package/dist/index.esm.js +1955 -1067
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +2 -0
- package/dist/index.esm.min.js.map +1 -0
- package/dist/index.iife.js +1955 -1067
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +2 -0
- package/dist/index.iife.min.js.map +1 -0
- package/dist/index.system.js +1955 -1067
- package/dist/index.system.js.map +1 -1
- package/dist/index.system.min.js +2 -0
- package/dist/index.system.min.js.map +1 -0
- package/dist/index.umd.js +1955 -1067
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +2 -0
- package/dist/index.umd.min.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/src/{DOMUtilsCommonUtils.d.ts → CommonUtils.d.ts} +21 -9
- package/dist/types/src/ElementAnimate.d.ts +89 -0
- package/dist/types/src/{DOMUtilsEvent.d.ts → ElementEvent.d.ts} +19 -84
- package/dist/types/src/ElementHandler.d.ts +17 -0
- package/dist/types/src/ElementSelector.d.ts +96 -0
- package/dist/types/src/ElementWait.d.ts +278 -0
- package/dist/types/src/GlobalData.d.ts +4 -0
- package/dist/types/src/{DOMUtilsOriginPrototype.d.ts → OriginPrototype.d.ts} +1 -2
- package/dist/types/src/Utils.d.ts +68 -0
- package/dist/types/src/{DOMUtils.d.ts → index.d.ts} +157 -177
- package/dist/types/src/types/env.d.ts +9 -0
- package/dist/types/src/types/global.d.ts +0 -2
- package/dist/types/src/types/gm.d.ts +0 -4
- package/index.ts +1 -1
- package/package.json +6 -2
- package/src/{DOMUtilsCommonUtils.ts → CommonUtils.ts} +27 -13
- package/src/ElementAnimate.ts +290 -0
- package/src/{DOMUtilsEvent.ts → ElementEvent.ts} +188 -370
- package/src/ElementHandler.ts +43 -0
- package/src/ElementSelector.ts +260 -0
- package/src/ElementWait.ts +699 -0
- package/src/GlobalData.ts +5 -0
- package/src/{DOMUtilsOriginPrototype.ts → OriginPrototype.ts} +1 -3
- package/src/Utils.ts +386 -0
- package/src/{DOMUtils.ts → index.ts} +679 -758
- package/src/types/env.d.ts +9 -0
- package/src/types/global.d.ts +0 -2
- package/src/types/gm.d.ts +0 -4
- package/dist/types/src/DOMUtilsData.d.ts +0 -5
- package/src/DOMUtilsData.ts +0 -7
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import { DOMUtilsEvent } from "./DOMUtilsEvent";
|
|
2
1
|
import type { DOMUtilsCreateElementAttributesMap } from "./types/DOMUtilsEvent";
|
|
3
|
-
import { type
|
|
2
|
+
import { type DOMUtilsTargetElementType } from "./types/global";
|
|
4
3
|
import type { WindowApiOption } from "./types/WindowApi";
|
|
5
|
-
|
|
4
|
+
import { ElementHandler } from "./ElementHandler";
|
|
5
|
+
declare class DOMUtils extends ElementHandler {
|
|
6
6
|
constructor(option?: WindowApiOption);
|
|
7
7
|
/** 版本号 */
|
|
8
8
|
version: string;
|
|
9
|
+
/**
|
|
10
|
+
* 取消挂载在window下的DOMUtils并返回DOMUtils
|
|
11
|
+
* @example
|
|
12
|
+
* let DOMUtils = window.DOMUtils.noConflict()
|
|
13
|
+
*/
|
|
14
|
+
noConflict(): this;
|
|
9
15
|
/**
|
|
10
16
|
* 获取元素的属性值
|
|
11
|
-
* @param
|
|
17
|
+
* @param $el 目标元素
|
|
12
18
|
* @param attrName 属性名
|
|
13
19
|
* @example
|
|
14
20
|
* // 获取a.xx元素的href属性
|
|
@@ -16,10 +22,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
16
22
|
* DOMUtils.attr("a.xx","href");
|
|
17
23
|
* > https://xxxx....
|
|
18
24
|
*/
|
|
19
|
-
attr(
|
|
25
|
+
attr($el: DOMUtilsTargetElementType | Element, attrName: string): string;
|
|
20
26
|
/**
|
|
21
27
|
* 设置元素的属性值
|
|
22
|
-
* @param
|
|
28
|
+
* @param $el 目标元素
|
|
23
29
|
* @param attrName 属性名
|
|
24
30
|
* @param attrValue 属性值
|
|
25
31
|
* @example
|
|
@@ -27,7 +33,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
27
33
|
* DOMUtils.attr(document.querySelector("a.xx"),"href","abcd");
|
|
28
34
|
* DOMUtils.attr("a.xx","href","abcd");
|
|
29
35
|
*/
|
|
30
|
-
attr(
|
|
36
|
+
attr($el: DOMUtilsTargetElementType | Element, attrName: string, attrValue: string | boolean | number): void;
|
|
31
37
|
/**
|
|
32
38
|
* 创建元素
|
|
33
39
|
* @param tagName 标签名
|
|
@@ -88,7 +94,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
88
94
|
attributes?: DOMUtilsCreateElementAttributesMap): HTMLElement;
|
|
89
95
|
/**
|
|
90
96
|
* 获取元素的样式属性值
|
|
91
|
-
* @param
|
|
97
|
+
* @param $el 目标元素
|
|
92
98
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
93
99
|
* @example
|
|
94
100
|
* // 获取元素a.xx的CSS属性display
|
|
@@ -96,10 +102,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
96
102
|
* DOMUtils.css("a.xx","display");
|
|
97
103
|
* > "none"
|
|
98
104
|
* */
|
|
99
|
-
css(
|
|
105
|
+
css($el: DOMUtilsTargetElementType, property: keyof Omit<CSSStyleDeclaration, "zIndex"> | "z-index"): string;
|
|
100
106
|
/**
|
|
101
107
|
* 获取元素的样式属性值
|
|
102
|
-
* @param
|
|
108
|
+
* @param $el 目标元素
|
|
103
109
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
104
110
|
* @example
|
|
105
111
|
* // 获取元素a.xx的CSS属性display
|
|
@@ -107,10 +113,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
107
113
|
* DOMUtils.css("a.xx","display");
|
|
108
114
|
* > "none"
|
|
109
115
|
* */
|
|
110
|
-
css(
|
|
116
|
+
css($el: DOMUtilsTargetElementType, property: string): string;
|
|
111
117
|
/**
|
|
112
118
|
* 设置元素的样式属性
|
|
113
|
-
* @param
|
|
119
|
+
* @param $el 目标元素
|
|
114
120
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
115
121
|
* @param value 样式属性值
|
|
116
122
|
* @example
|
|
@@ -124,10 +130,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
124
130
|
* DOMUtils.css(document.querySelector("a.xx"),"top","10px");
|
|
125
131
|
* DOMUtils.css(document.querySelector("a.xx"),"top",10);
|
|
126
132
|
* */
|
|
127
|
-
css(
|
|
133
|
+
css($el: DOMUtilsTargetElementType, property: (keyof Omit<CSSStyleDeclaration, "zIndex"> | "z-index") & string, value: string | number): string;
|
|
128
134
|
/**
|
|
129
135
|
* 设置元素的样式属性
|
|
130
|
-
* @param
|
|
136
|
+
* @param $el 目标元素
|
|
131
137
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
132
138
|
* @param value 样式属性值
|
|
133
139
|
* @example
|
|
@@ -139,7 +145,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
139
145
|
* DOMUtils.css(document.querySelector("a.xx"),{ top: "10px" });
|
|
140
146
|
* DOMUtils.css(document.querySelector("a.xx"),{ top: 10 });
|
|
141
147
|
* */
|
|
142
|
-
css(
|
|
148
|
+
css($el: DOMUtilsTargetElementType, property: {
|
|
143
149
|
[P in keyof Omit<CSSStyleDeclaration, "zIndex">]?: CSSStyleDeclaration[P];
|
|
144
150
|
} | {
|
|
145
151
|
"z-index": string | number;
|
|
@@ -148,7 +154,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
148
154
|
}): string;
|
|
149
155
|
/**
|
|
150
156
|
* 获取元素的文本内容,优先返回textContent
|
|
151
|
-
* @param
|
|
157
|
+
* @param $el 目标元素
|
|
152
158
|
* @returns 如果传入了text,则返回undefined;否则返回文本内容
|
|
153
159
|
* @example
|
|
154
160
|
* // 设置元素a.xx的文本内容为abcd
|
|
@@ -156,10 +162,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
156
162
|
* DOMUtils.text("a.xx","abcd")
|
|
157
163
|
* DOMUtils.text("a.xx",document.querySelector("b"))
|
|
158
164
|
* */
|
|
159
|
-
text(
|
|
165
|
+
text($el: DOMUtilsTargetElementType | Element | DocumentFragment | Node): string;
|
|
160
166
|
/**
|
|
161
167
|
* 设置元素的文本内容
|
|
162
|
-
* @param
|
|
168
|
+
* @param $el 目标元素
|
|
163
169
|
* @param text (可选)文本内容
|
|
164
170
|
* @returns 如果传入了text,则返回undefined;否则返回文本内容
|
|
165
171
|
* @example
|
|
@@ -168,7 +174,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
168
174
|
* DOMUtils.text("a.xx","abcd")
|
|
169
175
|
* DOMUtils.text("a.xx",document.querySelector("b"))
|
|
170
176
|
* */
|
|
171
|
-
text(
|
|
177
|
+
text($el: DOMUtilsTargetElementType | Element | DocumentFragment | Node, text: string | HTMLElement | Element | number): void;
|
|
172
178
|
/**
|
|
173
179
|
* 设置元素的HTML内容
|
|
174
180
|
* @param element 目标元素
|
|
@@ -183,7 +189,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
183
189
|
html(element: DOMUtilsTargetElementType, html: string | HTMLElement | Element | number): void;
|
|
184
190
|
/**
|
|
185
191
|
* 获取元素的HTML内容
|
|
186
|
-
* @param
|
|
192
|
+
* @param $el 目标元素
|
|
187
193
|
* @param html (可选)HTML内容|元素
|
|
188
194
|
* @returns 如果传入了html,则返回undefined;否则返回HTML内容
|
|
189
195
|
* @example
|
|
@@ -192,17 +198,17 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
192
198
|
* DOMUtils.html("a.xx","<b>abcd</b>")
|
|
193
199
|
* DOMUtils.html("a.xx",document.querySelector("b"))
|
|
194
200
|
* */
|
|
195
|
-
html(
|
|
201
|
+
html($el: DOMUtilsTargetElementType): string;
|
|
196
202
|
/**
|
|
197
203
|
* 获取移动元素的transform偏移
|
|
198
204
|
*/
|
|
199
|
-
getTransform(
|
|
205
|
+
getTransform($el: HTMLElement, isShow?: boolean): {
|
|
200
206
|
transformLeft: number;
|
|
201
207
|
transformTop: number;
|
|
202
208
|
};
|
|
203
209
|
/**
|
|
204
210
|
* 设置元素的value属性值
|
|
205
|
-
* @param
|
|
211
|
+
* @param $el 目标元素
|
|
206
212
|
* @param value (可选)value属性值
|
|
207
213
|
* @returns 如果传入了value,则返回undefined;否则返回value属性值
|
|
208
214
|
* > true
|
|
@@ -211,27 +217,27 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
211
217
|
* DOMUtils.val(document.querySelector("input.xx"),true)
|
|
212
218
|
* DOMUtils.val("input.xx",true)
|
|
213
219
|
* */
|
|
214
|
-
val(
|
|
220
|
+
val($el: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | string | (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)[] | NodeListOf<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>, value: string | boolean | number): void;
|
|
215
221
|
/**
|
|
216
222
|
* 获取value属性值
|
|
217
|
-
* @param
|
|
223
|
+
* @param $el 目标元素
|
|
218
224
|
* @example
|
|
219
225
|
* // 获取元素textarea的值
|
|
220
226
|
* DOMUtils.val(document.querySelector("textarea.xx"))
|
|
221
227
|
* */
|
|
222
|
-
val(
|
|
228
|
+
val($el: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | string | (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)[] | NodeListOf<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>): string;
|
|
223
229
|
/**
|
|
224
230
|
* 获取value属性值
|
|
225
|
-
* @param
|
|
231
|
+
* @param $el 目标元素
|
|
226
232
|
* @example
|
|
227
233
|
* // 获取元素input.xx的复选框值
|
|
228
234
|
* DOMUtils.val(document.querySelector("input.xx"))
|
|
229
235
|
* DOMUtils.val("input.xx")
|
|
230
236
|
* */
|
|
231
|
-
val(
|
|
237
|
+
val($el: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)[] | NodeListOf<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>): boolean | string;
|
|
232
238
|
/**
|
|
233
239
|
* 获取元素的属性值
|
|
234
|
-
* @param
|
|
240
|
+
* @param $el 目标元素
|
|
235
241
|
* @param propName 属性名
|
|
236
242
|
* @param propValue 属性值
|
|
237
243
|
* @example
|
|
@@ -240,10 +246,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
240
246
|
* DOMUtils.val("a.xx","data-value")
|
|
241
247
|
* > undefined
|
|
242
248
|
* */
|
|
243
|
-
prop<T>(
|
|
249
|
+
prop<T>($el: DOMUtilsTargetElementType | DocumentFragment, propName: string): T;
|
|
244
250
|
/**
|
|
245
251
|
* 设置元素的属性值
|
|
246
|
-
* @param
|
|
252
|
+
* @param $el 目标元素
|
|
247
253
|
* @param propName 属性名
|
|
248
254
|
* @param propValue 属性值
|
|
249
255
|
* @example
|
|
@@ -251,132 +257,122 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
251
257
|
* DOMUtils.val(document.querySelector("a.xx"),"data-value",1)
|
|
252
258
|
* DOMUtils.val("a.xx","data-value",1)
|
|
253
259
|
* */
|
|
254
|
-
prop<T>(
|
|
260
|
+
prop<T>($el: DOMUtilsTargetElementType | DocumentFragment, propName: string, propValue: T): void;
|
|
255
261
|
/**
|
|
256
262
|
* 移除元素的属性
|
|
257
|
-
* @param
|
|
263
|
+
* @param $el 目标元素
|
|
258
264
|
* @param attrName 属性名
|
|
259
265
|
* @example
|
|
260
266
|
* // 移除元素a.xx的属性data-value
|
|
261
267
|
* DOMUtils.removeAttr(document.querySelector("a.xx"),"data-value")
|
|
262
268
|
* DOMUtils.removeAttr("a.xx","data-value")
|
|
263
269
|
* */
|
|
264
|
-
removeAttr(
|
|
270
|
+
removeAttr($el: DOMUtilsTargetElementType | Element, attrName: string): void;
|
|
265
271
|
/**
|
|
266
272
|
* 移除元素class名
|
|
267
|
-
* @param
|
|
273
|
+
* @param $el 目标元素
|
|
268
274
|
* @param className 类名
|
|
269
275
|
* @example
|
|
270
276
|
* // 移除元素a.xx的className为xx
|
|
271
277
|
* DOMUtils.removeClass(document.querySelector("a.xx"),"xx")
|
|
272
278
|
* DOMUtils.removeClass("a.xx","xx")
|
|
273
279
|
*/
|
|
274
|
-
removeClass(
|
|
280
|
+
removeClass($el: DOMUtilsTargetElementType | Element, className?: string | string[] | undefined | null): void;
|
|
275
281
|
/**
|
|
276
282
|
* 移除元素的属性
|
|
277
|
-
* @param
|
|
283
|
+
* @param $el 目标元素
|
|
278
284
|
* @param propName 属性名
|
|
279
285
|
* @example
|
|
280
286
|
* // 移除元素a.xx的href属性
|
|
281
287
|
* DOMUtils.removeProp(document.querySelector("a.xx"),"href")
|
|
282
288
|
* DOMUtils.removeProp("a.xx","href")
|
|
283
289
|
* */
|
|
284
|
-
removeProp(
|
|
285
|
-
/**
|
|
286
|
-
* 将一个元素替换为另一个元素
|
|
287
|
-
* @param element 目标元素
|
|
288
|
-
* @param newElement 新元素
|
|
289
|
-
* @example
|
|
290
|
-
* // 替换元素a.xx为b.xx
|
|
291
|
-
* DOMUtils.replaceWith(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
292
|
-
* DOMUtils.replaceWith("a.xx",'<b class="xx"></b>')
|
|
293
|
-
*/
|
|
294
|
-
replaceWith(element: DOMUtilsTargetElementType, newElement: HTMLElement | string | Node): void;
|
|
290
|
+
removeProp($el: DOMUtilsTargetElementType | DocumentFragment, propName: string): void;
|
|
295
291
|
/**
|
|
296
292
|
* 给元素添加class
|
|
297
|
-
* @param
|
|
293
|
+
* @param $el 目标元素
|
|
298
294
|
* @param className class名
|
|
299
295
|
* @example
|
|
300
296
|
* // 元素a.xx的className添加_vue_
|
|
301
297
|
* DOMUtils.addClass(document.querySelector("a.xx"),"_vue_")
|
|
302
298
|
* DOMUtils.addClass("a.xx","_vue_")
|
|
303
299
|
* */
|
|
304
|
-
addClass(
|
|
300
|
+
addClass($el: DOMUtilsTargetElementType | Element, className: string | string[]): void;
|
|
305
301
|
/**
|
|
306
302
|
* 判断元素是否存在className
|
|
307
|
-
* @param
|
|
303
|
+
* @param $el
|
|
308
304
|
* @param className
|
|
309
305
|
*/
|
|
310
|
-
hasClass(
|
|
306
|
+
hasClass($el: DOMUtilsTargetElementType | Element, className: string | string[]): boolean;
|
|
311
307
|
/**
|
|
312
308
|
* 函数在元素内部末尾添加子元素或HTML字符串
|
|
313
|
-
* @param
|
|
309
|
+
* @param $el 目标元素
|
|
314
310
|
* @param content 子元素或HTML字符串
|
|
315
311
|
* @example
|
|
316
312
|
* // 元素a.xx的内部末尾添加一个元素
|
|
317
313
|
* DOMUtils.append(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
318
314
|
* DOMUtils.append("a.xx","'<b class="xx"></b>")
|
|
319
315
|
* */
|
|
320
|
-
append(
|
|
316
|
+
append($el: DOMUtilsTargetElementType | DocumentFragment, content: HTMLElement | string | (HTMLElement | string | Element)[] | NodeList): void;
|
|
321
317
|
/**
|
|
322
318
|
* 函数 在元素内部开头添加子元素或HTML字符串
|
|
323
|
-
* @param
|
|
319
|
+
* @param $el 目标元素
|
|
324
320
|
* @param content 子元素或HTML字符串
|
|
325
321
|
* @example
|
|
326
322
|
* // 元素a.xx内部开头添加一个元素
|
|
327
323
|
* DOMUtils.prepend(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
328
324
|
* DOMUtils.prepend("a.xx","'<b class="xx"></b>")
|
|
329
325
|
* */
|
|
330
|
-
prepend(
|
|
326
|
+
prepend($el: DOMUtilsTargetElementType | DocumentFragment, content: HTMLElement | string): void;
|
|
331
327
|
/**
|
|
332
328
|
* 在元素后面添加兄弟元素或HTML字符串
|
|
333
|
-
* @param
|
|
329
|
+
* @param $el 目标元素
|
|
334
330
|
* @param content 兄弟元素或HTML字符串
|
|
335
331
|
* @example
|
|
336
332
|
* // 元素a.xx后面添加一个元素
|
|
337
333
|
* DOMUtils.after(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
338
334
|
* DOMUtils.after("a.xx","'<b class="xx"></b>")
|
|
339
335
|
* */
|
|
340
|
-
after(
|
|
336
|
+
after($el: DOMUtilsTargetElementType, content: HTMLElement | string): void;
|
|
341
337
|
/**
|
|
342
338
|
* 在元素前面添加兄弟元素或HTML字符串
|
|
343
|
-
* @param
|
|
339
|
+
* @param $el 目标元素
|
|
344
340
|
* @param content 兄弟元素或HTML字符串
|
|
345
341
|
* @example
|
|
346
342
|
* // 元素a.xx前面添加一个元素
|
|
347
343
|
* DOMUtils.before(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
348
344
|
* DOMUtils.before("a.xx","'<b class="xx"></b>")
|
|
349
345
|
* */
|
|
350
|
-
before(
|
|
346
|
+
before($el: DOMUtilsTargetElementType, content: HTMLElement | string): void;
|
|
351
347
|
/**
|
|
352
348
|
* 移除元素
|
|
353
|
-
* @param
|
|
349
|
+
* @param $el 目标元素
|
|
354
350
|
* @example
|
|
355
351
|
* // 元素a.xx前面添加一个元素
|
|
356
352
|
* DOMUtils.remove(document.querySelector("a.xx"))
|
|
357
353
|
* DOMUtils.remove(document.querySelectorAll("a.xx"))
|
|
358
354
|
* DOMUtils.remove("a.xx")
|
|
359
355
|
* */
|
|
360
|
-
remove(
|
|
356
|
+
remove($el: DOMUtilsTargetElementType | Element): void;
|
|
361
357
|
/**
|
|
362
358
|
* 移除元素的所有子元素
|
|
363
|
-
* @param
|
|
359
|
+
* @param $el 目标元素
|
|
364
360
|
* @example
|
|
365
361
|
* // 移除元素a.xx元素的所有子元素
|
|
366
362
|
* DOMUtils.empty(document.querySelector("a.xx"))
|
|
367
363
|
* DOMUtils.empty("a.xx")
|
|
368
364
|
* */
|
|
369
|
-
empty(
|
|
365
|
+
empty($el: DOMUtilsTargetElementType | Element): void;
|
|
370
366
|
/**
|
|
371
367
|
* 获取元素相对于文档的偏移坐标(加上文档的滚动条)
|
|
372
|
-
* @param
|
|
368
|
+
* @param $el 目标元素
|
|
373
369
|
* @example
|
|
374
370
|
* // 获取元素a.xx的对于文档的偏移坐标
|
|
375
371
|
* DOMUtils.offset(document.querySelector("a.xx"))
|
|
376
372
|
* DOMUtils.offset("a.xx")
|
|
377
373
|
* > 0
|
|
378
374
|
*/
|
|
379
|
-
offset(
|
|
375
|
+
offset($el: HTMLElement | string): {
|
|
380
376
|
/** y轴偏移 */
|
|
381
377
|
top: number;
|
|
382
378
|
/** x轴偏移 */
|
|
@@ -384,7 +380,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
384
380
|
} | undefined;
|
|
385
381
|
/**
|
|
386
382
|
* 获取元素的宽度
|
|
387
|
-
* @param
|
|
383
|
+
* @param $el 要获取宽度的元素
|
|
388
384
|
* @param value 宽度值
|
|
389
385
|
* @param isShow 是否已进行isShow,避免爆堆栈
|
|
390
386
|
* @returns 元素的宽度,单位为像素
|
|
@@ -401,10 +397,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
401
397
|
* DOMUtils.width(document.querySelector("a.xx"),200)
|
|
402
398
|
* DOMUtils.width("a.xx",200)
|
|
403
399
|
*/
|
|
404
|
-
width(
|
|
400
|
+
width($el: HTMLElement | string | Window | typeof globalThis | Document, isShow?: boolean): number;
|
|
405
401
|
/**
|
|
406
402
|
* 获取元素的高度
|
|
407
|
-
* @param
|
|
403
|
+
* @param $el 要获取高度的元素
|
|
408
404
|
* @param isShow 是否已进行isShow,避免爆堆栈
|
|
409
405
|
* @returns 元素的高度,单位为像素
|
|
410
406
|
* @example
|
|
@@ -420,10 +416,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
420
416
|
* DOMUtils.height(document.querySelector("a.xx"),200)
|
|
421
417
|
* DOMUtils.height("a.xx",200)
|
|
422
418
|
*/
|
|
423
|
-
height(
|
|
419
|
+
height($el: HTMLElement | string | Window | typeof globalThis | Document, isShow?: boolean): number;
|
|
424
420
|
/**
|
|
425
421
|
* 获取元素的外部宽度(包括边框和外边距)
|
|
426
|
-
* @param
|
|
422
|
+
* @param $el 要获取外部宽度的元素
|
|
427
423
|
* @param [isShow=false] 是否已进行isShow,避免爆堆栈
|
|
428
424
|
* @returns 元素的外部宽度,单位为像素
|
|
429
425
|
* @example
|
|
@@ -435,10 +431,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
435
431
|
* DOMUtils.outerWidth(window)
|
|
436
432
|
* > 400
|
|
437
433
|
*/
|
|
438
|
-
outerWidth(
|
|
434
|
+
outerWidth($el: HTMLElement | string | Window | typeof globalThis | Document, isShow?: boolean): number;
|
|
439
435
|
/**
|
|
440
436
|
* 获取元素的外部高度(包括边框和外边距)
|
|
441
|
-
* @param {HTMLElement|string}
|
|
437
|
+
* @param {HTMLElement|string} $el 要获取外部高度的元素
|
|
442
438
|
* @param {boolean} [isShow=false] 是否已进行isShow,避免爆堆栈
|
|
443
439
|
* @returns {number} 元素的外部高度,单位为像素
|
|
444
440
|
* @example
|
|
@@ -450,32 +446,29 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
450
446
|
* DOMUtils.outerHeight(window)
|
|
451
447
|
* > 700
|
|
452
448
|
*/
|
|
453
|
-
outerHeight(
|
|
454
|
-
/**
|
|
455
|
-
*
|
|
456
|
-
* @param
|
|
457
|
-
* @param
|
|
458
|
-
* @
|
|
459
|
-
*
|
|
460
|
-
*
|
|
461
|
-
*
|
|
462
|
-
* DOMUtils.animate(document.querySelector("a.xx"),{ top:100},1000,function(){
|
|
463
|
-
* console.log("已往上位移100px")
|
|
464
|
-
* })
|
|
449
|
+
outerHeight($el: HTMLElement | string | Window | typeof globalThis | Document, isShow?: boolean): number;
|
|
450
|
+
/**
|
|
451
|
+
* 将一个元素替换为另一个元素
|
|
452
|
+
* @param $el 目标元素
|
|
453
|
+
* @param $newEl 新元素
|
|
454
|
+
* @example
|
|
455
|
+
* // 替换元素a.xx为b.xx
|
|
456
|
+
* DOMUtils.replaceWith(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
457
|
+
* DOMUtils.replaceWith("a.xx",'<b class="xx"></b>')
|
|
465
458
|
*/
|
|
466
|
-
|
|
459
|
+
replaceWith($el: DOMUtilsTargetElementType, $newEl: HTMLElement | string | Node): void;
|
|
467
460
|
/**
|
|
468
461
|
* 将一个元素包裹在指定的HTML元素中
|
|
469
|
-
* @param
|
|
462
|
+
* @param $el 要包裹的元素
|
|
470
463
|
* @param wrapperHTML 要包裹的HTML元素的字符串表示形式
|
|
471
464
|
* @example
|
|
472
465
|
* // 将a.xx元素外面包裹一层div
|
|
473
466
|
* DOMUtils.wrap(document.querySelector("a.xx"),"<div></div>")
|
|
474
467
|
*/
|
|
475
|
-
wrap(
|
|
468
|
+
wrap($el: DOMUtilsTargetElementType, wrapperHTML: string): void;
|
|
476
469
|
/**
|
|
477
470
|
* 获取当前元素的前一个兄弟元素
|
|
478
|
-
* @param
|
|
471
|
+
* @param $el 当前元素
|
|
479
472
|
* @returns 前一个兄弟元素
|
|
480
473
|
* @example
|
|
481
474
|
* // 获取a.xx元素前一个兄弟元素
|
|
@@ -483,10 +476,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
483
476
|
* DOMUtils.prev("a.xx")
|
|
484
477
|
* > <div ...>....</div>
|
|
485
478
|
*/
|
|
486
|
-
prev(
|
|
479
|
+
prev($el: HTMLElement | string): HTMLElement;
|
|
487
480
|
/**
|
|
488
481
|
* 获取当前元素的后一个兄弟元素
|
|
489
|
-
* @param
|
|
482
|
+
* @param $el 当前元素
|
|
490
483
|
* @returns 后一个兄弟元素
|
|
491
484
|
* @example
|
|
492
485
|
* // 获取a.xx元素前一个兄弟元素
|
|
@@ -494,13 +487,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
494
487
|
* DOMUtils.next("a.xx")
|
|
495
488
|
* > <div ...>....</div>
|
|
496
489
|
*/
|
|
497
|
-
next(
|
|
498
|
-
/**
|
|
499
|
-
* 取消挂载在window下的DOMUtils并返回DOMUtils
|
|
500
|
-
* @example
|
|
501
|
-
* let DOMUtils = window.DOMUtils.noConflict()
|
|
502
|
-
*/
|
|
503
|
-
noConflict(): this;
|
|
490
|
+
next($el: HTMLElement | string): HTMLElement;
|
|
504
491
|
/**
|
|
505
492
|
* 获取当前元素的所有兄弟元素
|
|
506
493
|
* @param element 当前元素
|
|
@@ -514,7 +501,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
514
501
|
siblings(element: HTMLElement | string): HTMLElement[];
|
|
515
502
|
/**
|
|
516
503
|
* 获取当前元素的父元素
|
|
517
|
-
* @param
|
|
504
|
+
* @param $el 当前元素
|
|
518
505
|
* @returns 父元素
|
|
519
506
|
* @example
|
|
520
507
|
* // 获取a.xx元素的父元素
|
|
@@ -522,10 +509,10 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
522
509
|
* DOMUtils.parent("a.xx")
|
|
523
510
|
* > <div ...>....</div>
|
|
524
511
|
*/
|
|
525
|
-
parent(
|
|
512
|
+
parent($el: HTMLElement | string): HTMLElement;
|
|
526
513
|
/**
|
|
527
514
|
* 获取当前元素的父元素
|
|
528
|
-
* @param
|
|
515
|
+
* @param $el 当前元素
|
|
529
516
|
* @returns 父元素
|
|
530
517
|
* @example
|
|
531
518
|
* // 获取a.xx元素的父元素
|
|
@@ -533,7 +520,7 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
533
520
|
* DOMUtils.parent("a.xx")
|
|
534
521
|
* > <div ...>....</div>
|
|
535
522
|
*/
|
|
536
|
-
parent(
|
|
523
|
+
parent($el: HTMLElement[] | NodeList): HTMLElement[];
|
|
537
524
|
/**
|
|
538
525
|
* 将字符串转为Element元素
|
|
539
526
|
* @param html
|
|
@@ -547,22 +534,22 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
547
534
|
* 如果useParser为false,返回一个DIV元素的firstChild
|
|
548
535
|
* @example
|
|
549
536
|
* // 将字符串转为Element元素
|
|
550
|
-
* DOMUtils.
|
|
537
|
+
* DOMUtils.toElement("<a href='xxxx'></a>")
|
|
551
538
|
* > <a href="xxxx"></a>
|
|
552
539
|
* @example
|
|
553
540
|
* // 使用DOMParser将字符串转为Element元素
|
|
554
|
-
* DOMUtils.
|
|
541
|
+
* DOMUtils.toElement("<a href='xxxx'></a>",true)
|
|
555
542
|
* > <a href="xxxx"></a>
|
|
556
543
|
* @example
|
|
557
544
|
* // 由于需要转换的元素是多个元素,将字符串转为完整的Element元素
|
|
558
|
-
* DOMUtils.
|
|
545
|
+
* DOMUtils.toElement("<a href='xxxx'></a><a href='xxxx'></a>",false, true)
|
|
559
546
|
* > <div><a href="xxxx"></a><a href='xxxx'></a></div>
|
|
560
547
|
* @example
|
|
561
548
|
* // 由于需要转换的元素是多个元素,使用DOMParser将字符串转为完整的Element元素
|
|
562
|
-
* DOMUtils.
|
|
549
|
+
* DOMUtils.toElement("<a href='xxxx'></a><a href='xxxx'></a>",true, true)
|
|
563
550
|
* > #document
|
|
564
551
|
*/
|
|
565
|
-
|
|
552
|
+
toElement<T1 extends boolean, T2 extends boolean>(html: string, useParser?: T1, isComplete?: T2): T1 extends true ? (T2 extends true ? Document : HTMLElement) : HTMLElement;
|
|
566
553
|
/**
|
|
567
554
|
* 序列化表单元素
|
|
568
555
|
* @param $form 表单元素
|
|
@@ -571,72 +558,6 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
571
558
|
* > xxx=xxx&aaa=
|
|
572
559
|
*/
|
|
573
560
|
serialize($form: HTMLFormElement): string;
|
|
574
|
-
/**
|
|
575
|
-
* 显示元素
|
|
576
|
-
* @param target 当前元素
|
|
577
|
-
* @param checkVisiblie 是否检测元素是否显示
|
|
578
|
-
* + true (默认)如果检测到还未显示,则强制使用display: unset !important;
|
|
579
|
-
* + false 不检测,直接设置display属性为空
|
|
580
|
-
* @example
|
|
581
|
-
* // 显示a.xx元素
|
|
582
|
-
* DOMUtils.show(document.querySelector("a.xx"))
|
|
583
|
-
* DOMUtils.show(document.querySelectorAll("a.xx"))
|
|
584
|
-
* DOMUtils.show("a.xx")
|
|
585
|
-
*/
|
|
586
|
-
show(target: DOMUtilsTargetElementType, checkVisiblie?: boolean): void;
|
|
587
|
-
/**
|
|
588
|
-
* 隐藏元素
|
|
589
|
-
* @param target 当前元素
|
|
590
|
-
* @param checkVisiblie 是否检测元素是否显示
|
|
591
|
-
* + true (默认)如果检测到显示,则强制使用display: none !important;
|
|
592
|
-
* + false 不检测,直接设置display属性为none
|
|
593
|
-
* @example
|
|
594
|
-
* // 隐藏a.xx元素
|
|
595
|
-
* DOMUtils.hide(document.querySelector("a.xx"))
|
|
596
|
-
* DOMUtils.hide(document.querySelectorAll("a.xx"))
|
|
597
|
-
* DOMUtils.hide("a.xx")
|
|
598
|
-
*/
|
|
599
|
-
hide(target: DOMUtilsTargetElementType, checkVisiblie?: boolean): void;
|
|
600
|
-
/**
|
|
601
|
-
* 淡入元素
|
|
602
|
-
* @param element 当前元素
|
|
603
|
-
* @param duration 动画持续时间(毫秒),默认400毫秒
|
|
604
|
-
* @param callback 动画结束的回调
|
|
605
|
-
* @example
|
|
606
|
-
* // 元素a.xx淡入
|
|
607
|
-
* DOMUtils.fadeIn(document.querySelector("a.xx"),2500,()=>{
|
|
608
|
-
* console.log("淡入完毕");
|
|
609
|
-
* })
|
|
610
|
-
* DOMUtils.fadeIn("a.xx",undefined,()=>{
|
|
611
|
-
* console.log("淡入完毕");
|
|
612
|
-
* })
|
|
613
|
-
*/
|
|
614
|
-
fadeIn(element: DOMUtilsTargetElementType, duration?: number, callback?: () => void): void;
|
|
615
|
-
/**
|
|
616
|
-
* 淡出元素
|
|
617
|
-
* @param element 当前元素
|
|
618
|
-
* @param duration 动画持续时间(毫秒),默认400毫秒
|
|
619
|
-
* @param callback 动画结束的回调
|
|
620
|
-
* @example
|
|
621
|
-
* // 元素a.xx淡出
|
|
622
|
-
* DOMUtils.fadeOut(document.querySelector("a.xx"),2500,()=>{
|
|
623
|
-
* console.log("淡出完毕");
|
|
624
|
-
* })
|
|
625
|
-
* DOMUtils.fadeOut("a.xx",undefined,()=>{
|
|
626
|
-
* console.log("淡出完毕");
|
|
627
|
-
* })
|
|
628
|
-
*/
|
|
629
|
-
fadeOut(element: DOMUtilsTargetElementType, duration?: number, callback?: () => void): void;
|
|
630
|
-
/**
|
|
631
|
-
* 切换元素的显示和隐藏状态
|
|
632
|
-
* @param element 当前元素
|
|
633
|
-
* @param checkVisiblie 是否检测元素是否显示
|
|
634
|
-
* @example
|
|
635
|
-
* // 如果元素a.xx当前是隐藏,则显示,如果是显示,则隐藏
|
|
636
|
-
* DOMUtils.toggle(document.querySelector("a.xx"))
|
|
637
|
-
* DOMUtils.toggle("a.xx")
|
|
638
|
-
*/
|
|
639
|
-
toggle(element: DOMUtilsTargetElementType, checkVisiblie?: boolean): void;
|
|
640
561
|
/**
|
|
641
562
|
* 创建一个新的DOMUtils实例
|
|
642
563
|
* @param option
|
|
@@ -652,10 +573,69 @@ declare class DOMUtils extends DOMUtilsEvent {
|
|
|
652
573
|
* DOMUtils.getTextBoundingRect(document.querySelector("input"));
|
|
653
574
|
*/
|
|
654
575
|
getTextBoundingRect($input: HTMLInputElement, selectionStart?: number | string, selectionEnd?: number | string): DOMRect;
|
|
655
|
-
/**
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
576
|
+
/**
|
|
577
|
+
* 在页面中增加style元素,如果html节点存在子节点,添加子节点第一个,反之,添加到html节点的子节点最后一个
|
|
578
|
+
* @param cssText css字符串
|
|
579
|
+
* @returns 返回添加的CSS标签
|
|
580
|
+
* @example
|
|
581
|
+
* DOMUtils.addStyle("html{}");
|
|
582
|
+
* > <style type="text/css">html{}</style>
|
|
583
|
+
*/
|
|
584
|
+
addStyle(cssText: string): HTMLStyleElement;
|
|
585
|
+
/**
|
|
586
|
+
* 检测点击的地方是否在该元素区域内
|
|
587
|
+
* @param $el 需要检测的元素
|
|
588
|
+
* @returns
|
|
589
|
+
* + true 点击在元素上
|
|
590
|
+
* + false 未点击在元素上
|
|
591
|
+
* @example
|
|
592
|
+
* DOMUtils.checkUserClickInNode(document.querySelector(".xxx"));
|
|
593
|
+
* > false
|
|
594
|
+
**/
|
|
595
|
+
checkUserClickInNode($el: Element | Node | HTMLElement): boolean;
|
|
596
|
+
/**
|
|
597
|
+
* 删除某个父元素,父元素可能在上层或上上层或上上上层...
|
|
598
|
+
* @param $el 当前元素
|
|
599
|
+
* @param parentSelector 判断是否满足父元素,参数为当前处理的父元素,满足返回true,否则false
|
|
600
|
+
* @returns
|
|
601
|
+
* + true 已删除
|
|
602
|
+
* + false 未删除
|
|
603
|
+
* @example
|
|
604
|
+
* DOMUtils.deleteParentNode(document.querySelector("a"),".xxx");
|
|
605
|
+
* > true
|
|
606
|
+
**/
|
|
607
|
+
deleteParentNode($el: Node | HTMLElement | Element | null, parentSelector: string): boolean;
|
|
608
|
+
/**
|
|
609
|
+
* 定位元素上的字符串,返回一个迭代器
|
|
610
|
+
* @param $el 目标元素
|
|
611
|
+
* @param text 需要定位的字符串
|
|
612
|
+
* @param filter (可选)过滤器函数,返回值为true是排除该元素
|
|
613
|
+
* @example
|
|
614
|
+
* let textIterator = DOMUtils.findElementsWithText(document.documentElement,"xxxx");
|
|
615
|
+
* textIterator.next();
|
|
616
|
+
* > {value: ?HTMLElement, done: boolean, next: Function}
|
|
617
|
+
*/
|
|
618
|
+
findElementsWithText<T extends HTMLElement | Element | Node>($el: T, text: string, filter?: (element: T) => boolean): Generator<HTMLElement | ChildNode, void, any>;
|
|
619
|
+
/**
|
|
620
|
+
* 寻找可见元素,如果元素不可见,则向上找它的父元素直至找到,如果父元素不存在则返回null
|
|
621
|
+
* @param $el
|
|
622
|
+
* @example
|
|
623
|
+
* let visibleElement = DOMUtils.findVisibleElement(document.querySelector("a.xx"));
|
|
624
|
+
* > <HTMLElement>
|
|
625
|
+
*/
|
|
626
|
+
findVisibleElement($el: HTMLElement | Element | Node): HTMLElement | null;
|
|
627
|
+
/**
|
|
628
|
+
* 将元素上的文本或元素使用光标进行选中
|
|
629
|
+
*
|
|
630
|
+
* 注意,如果设置startIndex和endIndex,且元素上并无可选则的坐标,那么会报错
|
|
631
|
+
* @param $el 目标元素
|
|
632
|
+
* @param childTextNode 目标元素下的#text元素
|
|
633
|
+
* @param startIndex (可选)开始坐标,可为空
|
|
634
|
+
* @param endIndex (可选)结束坐标,可为空
|
|
635
|
+
* @example
|
|
636
|
+
* DOMUtils.setElementSelection(document.querySelector("span"));
|
|
637
|
+
*/
|
|
638
|
+
setElementSelection($el: HTMLElement | Element | Node, childTextNode?: ChildNode, startIndex?: number, endIndex?: number): void;
|
|
659
639
|
}
|
|
660
640
|
declare const domUtils: DOMUtils;
|
|
661
641
|
export { domUtils as DOMUtils };
|