代码之家  ›  专栏  ›  技术社区  ›  Senseful

如何检查元素是否为容器元素?

  •  0
  • Senseful  · 技术社区  · 7 年前

    我使用googleapps脚本来迭代googledoc中的一堆元素。我从单曲开始 Element 我想用类似于下面的代码递归它的所有子级:

    var elements = [rootElement];
    while (elements.length > 0) {
      var element = elements.pop();
      // TODO: process element
      if (isContainerElement(element)) {
        for (var i = 0; i < element.getNumChildren(); i++) {
          elements.push(element.getChild(i));
        }
      }
    }
    

    我不知道如何实施 isContainerElement 不过。

    function isContainerElement(element) {
      return element instanceof DocumentApp.ContainerElement
    }
    

    我得到这个错误:

    我怎样才能知道 元素 是一个 ContainerElement ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Senseful    7 年前

    可能有更好、更可靠的方法可以做到这一点,但这是可行的:

    function isContainerElement(element) {
      return element.getNumChildren !== undefined;
    }