@whitesev/domutils 1.3.7 → 1.3.8

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.esm.js CHANGED
@@ -529,7 +529,7 @@ class DOMUtilsEvent {
529
529
  trigger(element, eventType, details, useDispatchToTriggerEvent = true) {
530
530
  let DOMUtilsContext = this;
531
531
  if (typeof element === "string") {
532
- element = DOMUtilsContext.windowApi.document.querySelector(element);
532
+ element = DOMUtilsContext.selectorAll(element);
533
533
  }
534
534
  if (element == null) {
535
535
  return;
@@ -629,7 +629,7 @@ class DOMUtilsEvent {
629
629
  blur(element, handler, details, useDispatchToTriggerEvent) {
630
630
  let DOMUtilsContext = this;
631
631
  if (typeof element === "string") {
632
- element = DOMUtilsContext.windowApi.document.querySelector(element);
632
+ element = DOMUtilsContext.selectorAll(element);
633
633
  }
634
634
  if (element == null) {
635
635
  return;
@@ -1462,6 +1462,41 @@ class DOMUtils extends DOMUtilsEvent {
1462
1462
  element.classList.add(itemClassName);
1463
1463
  });
1464
1464
  }
1465
+ /**
1466
+ * 判断元素是否存在className
1467
+ * @param element
1468
+ * @param className
1469
+ */
1470
+ hasClass(element, className) {
1471
+ let DOMUtilsContext = this;
1472
+ if (typeof element === "string") {
1473
+ element = DOMUtilsContext.selectorAll(element);
1474
+ }
1475
+ if (element == null) {
1476
+ return false;
1477
+ }
1478
+ if (isNodeList(element)) {
1479
+ let flag = true;
1480
+ for (let index = 0; index < element.length; index++) {
1481
+ const $ele = element[index];
1482
+ flag = flag && DOMUtilsContext.hasClass($ele, className);
1483
+ }
1484
+ return flag;
1485
+ }
1486
+ if (!element?.classList) {
1487
+ return false;
1488
+ }
1489
+ if (!Array.isArray(className)) {
1490
+ className = className.split(" ");
1491
+ }
1492
+ for (let index = 0; index < className.length; index++) {
1493
+ const item = className[index].trim();
1494
+ if (!element.classList.contains(item)) {
1495
+ return false;
1496
+ }
1497
+ }
1498
+ return true;
1499
+ }
1465
1500
  /**
1466
1501
  * 函数在元素内部末尾添加子元素或HTML字符串
1467
1502
  * @param element 目标元素
@@ -1684,7 +1719,7 @@ class DOMUtils extends DOMUtilsEvent {
1684
1719
  offset(element) {
1685
1720
  let DOMUtilsContext = this;
1686
1721
  if (typeof element === "string") {
1687
- element = DOMUtilsContext.windowApi.document.querySelector(element);
1722
+ element = DOMUtilsContext.selector(element);
1688
1723
  }
1689
1724
  if (element == null) {
1690
1725
  return;
@@ -1700,8 +1735,7 @@ class DOMUtils extends DOMUtilsEvent {
1700
1735
  width(element, isShow = false) {
1701
1736
  let DOMUtilsContext = this;
1702
1737
  if (typeof element === "string") {
1703
- element =
1704
- DOMUtilsContext.windowApi.document.querySelector(element);
1738
+ element = DOMUtilsContext.selector(element);
1705
1739
  }
1706
1740
  if (element == null) {
1707
1741
  return;
@@ -1755,7 +1789,7 @@ class DOMUtils extends DOMUtilsEvent {
1755
1789
  .clientHeight;
1756
1790
  }
1757
1791
  if (typeof element === "string") {
1758
- element = DOMUtilsContext.windowApi.document.querySelector(element);
1792
+ element = DOMUtilsContext.selector(element);
1759
1793
  }
1760
1794
  if (element == null) {
1761
1795
  // @ts-ignore
@@ -1805,7 +1839,7 @@ class DOMUtils extends DOMUtilsEvent {
1805
1839
  return DOMUtilsContext.windowApi.window.innerWidth;
1806
1840
  }
1807
1841
  if (typeof element === "string") {
1808
- element = DOMUtilsContext.windowApi.document.querySelector(element);
1842
+ element = DOMUtilsContext.selector(element);
1809
1843
  }
1810
1844
  if (element == null) {
1811
1845
  // @ts-ignore
@@ -1831,7 +1865,7 @@ class DOMUtils extends DOMUtilsEvent {
1831
1865
  return DOMUtilsContext.windowApi.window.innerHeight;
1832
1866
  }
1833
1867
  if (typeof element === "string") {
1834
- element = DOMUtilsContext.windowApi.document.querySelector(element);
1868
+ element = DOMUtilsContext.selector(element);
1835
1869
  }
1836
1870
  if (element == null) {
1837
1871
  // @ts-ignore
@@ -1954,7 +1988,7 @@ class DOMUtils extends DOMUtilsEvent {
1954
1988
  prev(element) {
1955
1989
  let DOMUtilsContext = this;
1956
1990
  if (typeof element === "string") {
1957
- element = DOMUtilsContext.windowApi.document.querySelector(element);
1991
+ element = DOMUtilsContext.selector(element);
1958
1992
  }
1959
1993
  if (element == null) {
1960
1994
  return;
@@ -1964,7 +1998,7 @@ class DOMUtils extends DOMUtilsEvent {
1964
1998
  next(element) {
1965
1999
  let DOMUtilsContext = this;
1966
2000
  if (typeof element === "string") {
1967
- element = DOMUtilsContext.windowApi.document.querySelector(element);
2001
+ element = DOMUtilsContext.selector(element);
1968
2002
  }
1969
2003
  if (element == null) {
1970
2004
  return;
@@ -1987,7 +2021,7 @@ class DOMUtils extends DOMUtilsEvent {
1987
2021
  siblings(element) {
1988
2022
  let DOMUtilsContext = this;
1989
2023
  if (typeof element === "string") {
1990
- element = DOMUtilsContext.windowApi.document.querySelector(element);
2024
+ element = DOMUtilsContext.selector(element);
1991
2025
  }
1992
2026
  if (element == null) {
1993
2027
  return;
@@ -2008,16 +2042,15 @@ class DOMUtils extends DOMUtilsEvent {
2008
2042
  parent(element) {
2009
2043
  let DOMUtilsContext = this;
2010
2044
  if (typeof element === "string") {
2011
- element = DOMUtilsContext.windowApi.document.querySelector(element);
2045
+ element = DOMUtilsContext.selector(element);
2012
2046
  }
2013
2047
  if (element == null) {
2014
2048
  return;
2015
2049
  }
2016
- if (element instanceof NodeList || element instanceof Array) {
2017
- element = element;
2050
+ if (isNodeList(element)) {
2018
2051
  let resultArray = [];
2019
- element.forEach((eleItem) => {
2020
- resultArray.push(DOMUtilsContext.parent(eleItem));
2052
+ element.forEach(($ele) => {
2053
+ resultArray.push(DOMUtilsContext.parent($ele));
2021
2054
  });
2022
2055
  return resultArray;
2023
2056
  }