@whitesev/domutils 1.3.5 → 1.3.7

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 CHANGED
@@ -190,7 +190,7 @@ define((function () { 'use strict';
190
190
  let DOMUtilsContext = this;
191
191
  let args = arguments;
192
192
  if (typeof element === "string") {
193
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
193
+ element = DOMUtilsContext.selectorAll(element);
194
194
  }
195
195
  if (element == null) {
196
196
  return;
@@ -308,7 +308,7 @@ define((function () { 'use strict';
308
308
  let DOMUtilsContext = this;
309
309
  let args = arguments;
310
310
  if (typeof element === "string") {
311
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
311
+ element = DOMUtilsContext.selectorAll(element);
312
312
  }
313
313
  if (element == null) {
314
314
  return;
@@ -393,7 +393,7 @@ define((function () { 'use strict';
393
393
  offAll(element, eventType) {
394
394
  let DOMUtilsContext = this;
395
395
  if (typeof element === "string") {
396
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
396
+ element = DOMUtilsContext.selectorAll(element);
397
397
  }
398
398
  if (element == null) {
399
399
  return;
@@ -595,7 +595,7 @@ define((function () { 'use strict';
595
595
  click(element, handler, details, useDispatchToTriggerEvent) {
596
596
  let DOMUtilsContext = this;
597
597
  if (typeof element === "string") {
598
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
598
+ element = DOMUtilsContext.selectorAll(element);
599
599
  }
600
600
  if (element == null) {
601
601
  return;
@@ -667,7 +667,7 @@ define((function () { 'use strict';
667
667
  focus(element, handler, details, useDispatchToTriggerEvent) {
668
668
  let DOMUtilsContext = this;
669
669
  if (typeof element === "string") {
670
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
670
+ element = DOMUtilsContext.selectorAll(element);
671
671
  }
672
672
  if (element == null) {
673
673
  return;
@@ -703,7 +703,7 @@ define((function () { 'use strict';
703
703
  hover(element, handler, option) {
704
704
  let DOMUtilsContext = this;
705
705
  if (typeof element === "string") {
706
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
706
+ element = DOMUtilsContext.selectorAll(element);
707
707
  }
708
708
  if (element == null) {
709
709
  return;
@@ -739,7 +739,7 @@ define((function () { 'use strict';
739
739
  return;
740
740
  }
741
741
  if (typeof element === "string") {
742
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
742
+ element = DOMUtilsContext.selectorAll(element);
743
743
  }
744
744
  if (isNodeList(element)) {
745
745
  // 设置
@@ -771,7 +771,7 @@ define((function () { 'use strict';
771
771
  return;
772
772
  }
773
773
  if (typeof element === "string") {
774
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
774
+ element = DOMUtilsContext.selectorAll(element);
775
775
  }
776
776
  if (isNodeList(element)) {
777
777
  // 设置
@@ -803,7 +803,7 @@ define((function () { 'use strict';
803
803
  return;
804
804
  }
805
805
  if (typeof element === "string") {
806
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
806
+ element = DOMUtilsContext.selectorAll(element);
807
807
  }
808
808
  if (isNodeList(element)) {
809
809
  // 设置
@@ -880,7 +880,7 @@ define((function () { 'use strict';
880
880
  listenKeyboard(element, eventName = "keypress", callback, options) {
881
881
  let DOMUtilsContext = this;
882
882
  if (typeof element === "string") {
883
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
883
+ element = DOMUtilsContext.selectorAll(element);
884
884
  }
885
885
  let keyboardEventCallBack = function (event) {
886
886
  /** 键名 */
@@ -912,6 +912,47 @@ define((function () { 'use strict';
912
912
  },
913
913
  };
914
914
  }
915
+ selector(selector) {
916
+ return this.selectorAll(selector)[0];
917
+ }
918
+ selectorAll(selector) {
919
+ const context = this;
920
+ selector = selector.trim();
921
+ if (selector.match(/[^\s]{1}:empty$/gi)) {
922
+ // empty 语法
923
+ selector = selector.replace(/:empty$/gi, "");
924
+ return Array.from(context.windowApi.document.querySelectorAll(selector)).filter(($ele) => {
925
+ return $ele?.innerHTML?.trim() === "";
926
+ });
927
+ }
928
+ else if (selector.match(/[^\s]{1}:contains\("(.*)"\)$/gi) ||
929
+ selector.match(/[^\s]{1}:contains\('(.*)'\)$/gi)) {
930
+ // contains 语法
931
+ let textMatch = selector.match(/:contains\(("|')(.*)("|')\)$/i);
932
+ let text = textMatch[2];
933
+ selector = selector.replace(/:contains\(("|')(.*)("|')\)$/gi, "");
934
+ return Array.from(context.windowApi.document.querySelectorAll(selector)).filter(($ele) => {
935
+ // @ts-ignore
936
+ return ($ele?.textContent || $ele?.innerText)?.includes(text);
937
+ });
938
+ }
939
+ else if (selector.match(/[^\s]{1}:regexp\("(.*)"\)$/gi) ||
940
+ selector.match(/[^\s]{1}:regexp\('(.*)'\)$/gi)) {
941
+ // regexp 语法
942
+ let textMatch = selector.match(/:regexp\(("|')(.*)("|')\)$/i);
943
+ let text = textMatch[2];
944
+ let regexp = new RegExp(text);
945
+ selector = selector.replace(/:regexp\(("|')(.*)("|')\)$/gi, "");
946
+ return Array.from(context.windowApi.document.querySelectorAll(selector)).filter(($ele) => {
947
+ // @ts-ignore
948
+ return Boolean(($ele?.textContent || $ele?.innerText)?.match(regexp));
949
+ });
950
+ }
951
+ else {
952
+ // 普通语法
953
+ return Array.from(context.windowApi.document.querySelectorAll(selector));
954
+ }
955
+ }
915
956
  }
916
957
 
917
958
  /**
@@ -926,11 +967,11 @@ define((function () { 'use strict';
926
967
  super(option);
927
968
  }
928
969
  /** 版本号 */
929
- version = "2024.10.22";
970
+ version = "2024.10.23";
930
971
  attr(element, attrName, attrValue) {
931
972
  let DOMUtilsContext = this;
932
973
  if (typeof element === "string") {
933
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
974
+ element = DOMUtilsContext.selectorAll(element);
934
975
  }
935
976
  if (element == null) {
936
977
  return;
@@ -1036,7 +1077,7 @@ define((function () { 'use strict';
1036
1077
  return propertyValue;
1037
1078
  }
1038
1079
  if (typeof element === "string") {
1039
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1080
+ element = DOMUtilsContext.selectorAll(element);
1040
1081
  }
1041
1082
  if (element == null) {
1042
1083
  return;
@@ -1098,7 +1139,7 @@ define((function () { 'use strict';
1098
1139
  text(element, text) {
1099
1140
  let DOMUtilsContext = this;
1100
1141
  if (typeof element === "string") {
1101
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1142
+ element = DOMUtilsContext.selectorAll(element);
1102
1143
  }
1103
1144
  if (element == null) {
1104
1145
  return;
@@ -1134,7 +1175,7 @@ define((function () { 'use strict';
1134
1175
  html(element, html) {
1135
1176
  let DOMUtilsContext = this;
1136
1177
  if (typeof element === "string") {
1137
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1178
+ element = DOMUtilsContext.selectorAll(element);
1138
1179
  }
1139
1180
  if (element == null) {
1140
1181
  return;
@@ -1204,7 +1245,7 @@ define((function () { 'use strict';
1204
1245
  val(element, value) {
1205
1246
  let DOMUtilsContext = this;
1206
1247
  if (typeof element === "string") {
1207
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1248
+ element = DOMUtilsContext.selectorAll(element);
1208
1249
  }
1209
1250
  if (element == null) {
1210
1251
  return;
@@ -1246,7 +1287,7 @@ define((function () { 'use strict';
1246
1287
  prop(element, propName, propValue) {
1247
1288
  let DOMUtilsContext = this;
1248
1289
  if (typeof element === "string") {
1249
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1290
+ element = DOMUtilsContext.selectorAll(element);
1250
1291
  }
1251
1292
  if (element == null) {
1252
1293
  return;
@@ -1283,7 +1324,7 @@ define((function () { 'use strict';
1283
1324
  removeAttr(element, attrName) {
1284
1325
  let DOMUtilsContext = this;
1285
1326
  if (typeof element === "string") {
1286
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1327
+ element = DOMUtilsContext.selectorAll(element);
1287
1328
  }
1288
1329
  if (element == null) {
1289
1330
  return;
@@ -1309,7 +1350,7 @@ define((function () { 'use strict';
1309
1350
  removeClass(element, className) {
1310
1351
  let DOMUtilsContext = this;
1311
1352
  if (typeof element === "string") {
1312
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1353
+ element = DOMUtilsContext.selectorAll(element);
1313
1354
  }
1314
1355
  if (element == null) {
1315
1356
  return;
@@ -1346,7 +1387,7 @@ define((function () { 'use strict';
1346
1387
  removeProp(element, propName) {
1347
1388
  let DOMUtilsContext = this;
1348
1389
  if (typeof element === "string") {
1349
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1390
+ element = DOMUtilsContext.selectorAll(element);
1350
1391
  }
1351
1392
  if (element == null) {
1352
1393
  return;
@@ -1372,7 +1413,7 @@ define((function () { 'use strict';
1372
1413
  replaceWith(element, newElement) {
1373
1414
  let DOMUtilsContext = this;
1374
1415
  if (typeof element === "string") {
1375
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1416
+ element = DOMUtilsContext.selectorAll(element);
1376
1417
  }
1377
1418
  if (element == null) {
1378
1419
  return;
@@ -1401,7 +1442,7 @@ define((function () { 'use strict';
1401
1442
  addClass(element, className) {
1402
1443
  let DOMUtilsContext = this;
1403
1444
  if (typeof element === "string") {
1404
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1445
+ element = DOMUtilsContext.selectorAll(element);
1405
1446
  }
1406
1447
  if (element == null) {
1407
1448
  return;
@@ -1435,7 +1476,7 @@ define((function () { 'use strict';
1435
1476
  append(element, content) {
1436
1477
  let DOMUtilsContext = this;
1437
1478
  if (typeof element === "string") {
1438
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1479
+ element = DOMUtilsContext.selectorAll(element);
1439
1480
  }
1440
1481
  if (element == null) {
1441
1482
  return;
@@ -1482,7 +1523,7 @@ define((function () { 'use strict';
1482
1523
  prepend(element, content) {
1483
1524
  let DOMUtilsContext = this;
1484
1525
  if (typeof element === "string") {
1485
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1526
+ element = DOMUtilsContext.selectorAll(element);
1486
1527
  }
1487
1528
  if (element == null) {
1488
1529
  return;
@@ -1519,7 +1560,7 @@ define((function () { 'use strict';
1519
1560
  after(element, content) {
1520
1561
  let DOMUtilsContext = this;
1521
1562
  if (typeof element === "string") {
1522
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1563
+ element = DOMUtilsContext.selectorAll(element);
1523
1564
  }
1524
1565
  if (element == null) {
1525
1566
  return;
@@ -1558,7 +1599,7 @@ define((function () { 'use strict';
1558
1599
  before(element, content) {
1559
1600
  let DOMUtilsContext = this;
1560
1601
  if (typeof element === "string") {
1561
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1602
+ element = DOMUtilsContext.selectorAll(element);
1562
1603
  }
1563
1604
  if (element == null) {
1564
1605
  return;
@@ -1595,7 +1636,7 @@ define((function () { 'use strict';
1595
1636
  remove(element) {
1596
1637
  let DOMUtilsContext = this;
1597
1638
  if (typeof element === "string") {
1598
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1639
+ element = DOMUtilsContext.selectorAll(element);
1599
1640
  }
1600
1641
  if (element == null) {
1601
1642
  return;
@@ -1619,7 +1660,7 @@ define((function () { 'use strict';
1619
1660
  empty(element) {
1620
1661
  let DOMUtilsContext = this;
1621
1662
  if (typeof element === "string") {
1622
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1663
+ element = DOMUtilsContext.selectorAll(element);
1623
1664
  }
1624
1665
  if (element == null) {
1625
1666
  return;
@@ -1827,7 +1868,7 @@ define((function () { 'use strict';
1827
1868
  animate(element, styles, duration = 1000, callback = null) {
1828
1869
  let DOMUtilsContext = this;
1829
1870
  if (typeof element === "string") {
1830
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1871
+ element = DOMUtilsContext.selectorAll(element);
1831
1872
  }
1832
1873
  if (element == null) {
1833
1874
  return;
@@ -1889,7 +1930,7 @@ define((function () { 'use strict';
1889
1930
  wrap(element, wrapperHTML) {
1890
1931
  let DOMUtilsContext = this;
1891
1932
  if (typeof element === "string") {
1892
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
1933
+ element = DOMUtilsContext.selectorAll(element);
1893
1934
  }
1894
1935
  if (element == null) {
1895
1936
  return;
@@ -2076,7 +2117,7 @@ define((function () { 'use strict';
2076
2117
  return;
2077
2118
  }
2078
2119
  if (typeof target === "string") {
2079
- target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
2120
+ target = DOMUtilsContext.selectorAll(target);
2080
2121
  }
2081
2122
  if (target instanceof NodeList || target instanceof Array) {
2082
2123
  target = target;
@@ -2113,7 +2154,7 @@ define((function () { 'use strict';
2113
2154
  return;
2114
2155
  }
2115
2156
  if (typeof target === "string") {
2116
- target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
2157
+ target = DOMUtilsContext.selectorAll(target);
2117
2158
  }
2118
2159
  if (target instanceof NodeList || target instanceof Array) {
2119
2160
  target = target;
@@ -2152,7 +2193,7 @@ define((function () { 'use strict';
2152
2193
  }
2153
2194
  let DOMUtilsContext = this;
2154
2195
  if (typeof element === "string") {
2155
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
2196
+ element = DOMUtilsContext.selectorAll(element);
2156
2197
  }
2157
2198
  if (isNodeList(element)) {
2158
2199
  // 设置
@@ -2203,7 +2244,7 @@ define((function () { 'use strict';
2203
2244
  return;
2204
2245
  }
2205
2246
  if (typeof element === "string") {
2206
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
2247
+ element = DOMUtilsContext.selectorAll(element);
2207
2248
  }
2208
2249
  if (isNodeList(element)) {
2209
2250
  // 设置
@@ -2246,7 +2287,7 @@ define((function () { 'use strict';
2246
2287
  toggle(element, checkVisiblie) {
2247
2288
  let DOMUtilsContext = this;
2248
2289
  if (typeof element === "string") {
2249
- element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
2290
+ element = DOMUtilsContext.selectorAll(element);
2250
2291
  }
2251
2292
  if (element == null) {
2252
2293
  return;