Interface Element

Element

A generic element. Document contents are represented as elements. For example, ListItem, Paragraph, and Table are elements and inherit all of the methods defined by Element, such as getType().

Implementing classes

NameBrief description
BodyThe content of a tab in a Google Docs document.
ContainerElementA generic element that may contain other elements.
DateAn element representing a formatted date
EquationAn element representing a mathematical expression.
EquationFunctionAn element representing a function in a mathematical Equation.
EquationFunctionArgumentSeparatorAn element representing a function separator in a mathematical Equation.
EquationSymbolAn element representing a symbol in a mathematical Equation.
FooterSectionAn element representing a footer section.
FootnoteAn element representing a footnote.
FootnoteSectionAn element representing a footnote section.
HeaderSectionAn element representing a header section.
HorizontalRuleAn element representing an horizontal rule.
InlineDrawingAn element representing an embedded drawing.
InlineImageAn element representing an embedded image.
ListItemAn element representing a list item.
PageBreakAn element representing a page break.
ParagraphAn element representing a paragraph.
PersonAn element representing a link to a person.
RichLinkAn element representing a link to a Google resource, such as a Drive file or a YouTube video.
TableAn element representing a table.
TableCellAn element representing a table cell.
TableOfContentsAn element containing a table of contents.
TableRowAn element representing a table row.
TextAn element representing a rich text region.
UnsupportedElementAn element representing a region that is unknown or cannot be affected by a script, such as a page number.

Methods

MethodReturn typeBrief description
asBody()BodyReturns the current element as a Body.
asDate()DateReturns the current element as a Date.
asEquation()EquationReturns the current element as an Equation.
asEquationFunction()EquationFunctionReturns the current element as a EquationFunction.
asEquationFunctionArgumentSeparator()EquationFunctionArgumentSeparatorReturns the current element as a EquationFunctionArgumentSeparator.
asEquationSymbol()EquationSymbolReturns the current element as a EquationSymbol.
asFooterSection()FooterSectionReturns the current element as a FooterSection.
asFootnote()FootnoteReturns the current element as a Footnote.
asFootnoteSection()FootnoteSectionReturns the current element as a FootnoteSection.
asHeaderSection()HeaderSectionReturns the current element as a HeaderSection.
asHorizontalRule()HorizontalRuleReturns the current element as a HorizontalRule.
asInlineDrawing()InlineDrawingReturns the current element as a InlineDrawing.
asInlineImage()InlineImageReturns the current element as a InlineImage.
asListItem()ListItemReturns the current element as a ListItem.
asPageBreak()PageBreakReturns the current element as a PageBreak.
asParagraph()ParagraphReturns the current element as a Paragraph.
asPerson()PersonReturns the current element as a Person.
asRichLink()RichLinkReturns the current element as a RichLink, for example, a link to a Google Sheets file.
asTable()TableReturns the current element as a Table.
asTableCell()TableCellReturns the current element as a TableCell.
asTableOfContents()TableOfContentsReturns the current element as a TableOfContents.
asTableRow()TableRowReturns the current element as a TableRow.
asText()TextReturns the current element as a Text.
copy()ElementReturns a detached, deep copy of the current element.
getAttributes()ObjectRetrieves the element's attributes.
getNextSibling()ElementRetrieves the element's next sibling element.
getParent()ContainerElementRetrieves the element's parent element.
getPreviousSibling()ElementRetrieves the element's previous sibling element.
getType()ElementTypeRetrieves the element's ElementType.
isAtDocumentEnd()BooleanDetermines whether the element is at the end of the Document.
merge()ElementMerges the element with the preceding sibling of the same type.
removeFromParent()ElementRemoves the element from its parent.
setAttributes(attributes)ElementSets the element's attributes.

Detailed documentation

asBody()

Returns the current element as a Body.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Body — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asDate()

Returns the current element as a Date.

When you know an element is a Date, use this method to set its type as a Date. Doing so lets autocomplete in the Apps Script editor show you the methods you can use with a Date.

Return

Date — The current element with its type set as Date.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asEquation()

Returns the current element as an Equation.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Equation — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asEquationFunction()

Returns the current element as a EquationFunction.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

EquationFunction — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asEquationFunctionArgumentSeparator()

Returns the current element as a EquationFunctionArgumentSeparator.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

EquationFunctionArgumentSeparator — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asEquationSymbol()

Returns the current element as a EquationSymbol.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

EquationSymbol — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asFooterSection()

Returns the current element as a FooterSection.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

FooterSection — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asFootnote()

Returns the current element as a Footnote.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Footnote — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asFootnoteSection()

Returns the current element as a FootnoteSection.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

FootnoteSection — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asHeaderSection()

Returns the current element as a HeaderSection.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

HeaderSection — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asHorizontalRule()

Returns the current element as a HorizontalRule.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

HorizontalRule — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asInlineDrawing()

Returns the current element as a InlineDrawing.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

InlineDrawing — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asInlineImage()

Returns the current element as a InlineImage.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

InlineImage — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asListItem()

Returns the current element as a ListItem.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

ListItem — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asPageBreak()

Returns the current element as a PageBreak.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

PageBreak — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asParagraph()

Returns the current element as a Paragraph.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Paragraph — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asPerson()

Returns the current element as a Person.

When you know an element is a Person, use this method to set its type as a person. Doing so lets autocomplete in the Apps Script editor show you the methods you can use with a person element.

Return

Person — The current element with its type set as Person.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

Returns the current element as a RichLink, for example, a link to a Google Sheets file.

When you know an element is a RichLink, use this method to set its type as a RichLink. Doing so lets autocomplete in the Apps Script editor show you the methods you can use with a RichLink.

Return

RichLink — The current element with its type set as RichLink.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTable()

Returns the current element as a Table.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Table — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableCell()

Returns the current element as a TableCell.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

TableCell — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableOfContents()

Returns the current element as a TableOfContents.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

TableOfContents — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asTableRow()

Returns the current element as a TableRow.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

TableRow — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

asText()

Returns the current element as a Text.

Use this method to aid auto-complete whenever a given element is known to be of a specific type.

Return

Text — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

copy()

Returns a detached, deep copy of the current element.

Any child elements present in the element are also copied. The new element doesn't have a parent.

Return

Element — The new copy.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getAttributes()

Retrieves the element's attributes.

The result is an object containing a property for each valid element attribute where each property name corresponds to an item in the DocumentApp.Attribute enumeration.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Append a styled paragraph.
const par = body.appendParagraph('A bold, italicized paragraph.');
par.setBold(true);
par.setItalic(true);

// Retrieve the paragraph's attributes.
const atts = par.getAttributes();

// Log the paragraph attributes.
for (const att in atts) {
  Logger.log(`${att}:${atts[att]}`);
}

Return

Object — The element's attributes.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNextSibling()

Retrieves the element's next sibling element.

The next sibling has the same parent and follows the current element.

Return

Element — The next sibling element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getParent()

Retrieves the element's parent element.

The parent element contains the current element.

Return

ContainerElement — The parent element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getPreviousSibling()

Retrieves the element's previous sibling element.

The previous sibling has the same parent and precedes the current element.

Return

Element — The previous sibling element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getType()

Retrieves the element's ElementType.

Use getType() to determine the exact type of a given element.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Obtain the first element in the active tab's body.

const firstChild = body.getChild(0);

// Use getType() to determine the element's type.
if (firstChild.getType() === DocumentApp.ElementType.PARAGRAPH) {
  Logger.log('The first element is a paragraph.');
} else {
  Logger.log('The first element is not a paragraph.');
}

Return

ElementType — The element type.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

isAtDocumentEnd()

Determines whether the element is at the end of the Document.

Return

Boolean — Whether the element is at the end of the tab.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

merge()

Merges the element with the preceding sibling of the same type.

Only elements of the same ElementType can be merged. Any child elements contained in the current element are moved to the preceding sibling element.

The current element is removed from the document.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Example 1: Merge paragraphs
// Append two paragraphs to the document's active tab.
const par1 = body.appendParagraph('Paragraph 1.');
const par2 = body.appendParagraph('Paragraph 2.');
// Merge the newly added paragraphs into a single paragraph.
par2.merge();

// Example 2: Merge table cells
// Create a two-dimensional array containing the table's cell contents.
const cells = [
  ['Row 1, Cell 1', 'Row 1, Cell 2'],
  ['Row 2, Cell 1', 'Row 2, Cell 2'],
];
// Build a table from the array.
const table = body.appendTable(cells);
// Get the first row in the table.
const row = table.getRow(0);
// Get the two cells in this row.
const cell1 = row.getCell(0);
const cell2 = row.getCell(1);
// Merge the current cell into its preceding sibling element.
const merged = cell2.merge();

Return

Element — The merged element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

removeFromParent()

Removes the element from its parent.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Remove all images in the active tab's body.
const imgs = body.getImages();
for (let i = 0; i < imgs.length; i++) {
  imgs[i].removeFromParent();
}

Return

Element — The removed element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

setAttributes(attributes)

Sets the element's attributes.

The specified attributes parameter must be an object where each property name is an item in the DocumentApp.Attribute enumeration and each property value is the new value to be applied.

const doc = DocumentApp.getActiveDocument();
const documentTab = doc.getActiveTab().asDocumentTab();
const body = documentTab.getBody();

// Define a custom paragraph style.
const style = {};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =
    DocumentApp.HorizontalAlignment.RIGHT;
style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
style[DocumentApp.Attribute.FONT_SIZE] = 18;
style[DocumentApp.Attribute.BOLD] = true;

// Append a plain paragraph.
const par = body.appendParagraph('A paragraph with custom style.');

// Apply the custom style.
par.setAttributes(style);

Parameters

NameTypeDescription
attributesObjectThe element's attributes.

Return

Element — The current element.

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents