如何检查Element是否为ContainerElement?

时间:2019-02-07 19:49:50

标签: javascript google-apps-script

我正在使用Google Apps脚本来迭代Google文档中的一堆元素。我从一个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
}

我收到此错误:

  

TypeError:无法在非对象上使用instanceof。

如何确定Element是否是ContainerElement

1 个答案:

答案 0 :(得分:0)

可能有更好,更健壮的方法可以做到这一点,但这可行:

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