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