this

A Standard script or Post Pagination script that has its scope set to "Each matched element" (see Setting the scope of a script) will be called in a loop over the elements that match the selector of the script - the results (see results). In such a script, this is an object of the type QueryResult. It represents the current element in the loop.

Note: The scope of Control Scripts can't be set, because they don't have a selector.

Example

If the selector of a script is p.onlyCanada, and its scope is set to "Each matched element", the script will be repeated for all paragraphs that have the onlyCanada class; it can access only one paragraph at a time. The script could use this to manipulate each paragraph, e.g. hide or show it depending on the value of a data field Country in the current record:

Copy
if (record.fields["Country"] == "CANADA") {
this.show();
} else {
this.hide();
}

Note: In a script that has its scope set to "Each matched element", the results object is still accessible, and can be used in a non-iterative way (for example, you could use its length property to determine the total number of matched elements) but iterating over results will produce a warning.

Properties

Field Type Description
id Number Index in the result set, or zero if this element is not part of a result set.
record

Record

Represents the current detail record in a (possibly nested) detail table associated with repeating rows in a Dynamic Table. This property is only available when this is a row or child element of a row in a Dynamic Table. (See Dynamic Table.)
If this (the current QueryResult instance) cannot be matched to a detail record, this.record is null.

runningTotal Number Can be used to update a running total. It is initialized to zero when a loop over results starts.

Functions

The functions below can be called by the results object and by any other result set that is returned by a query, see ​​query().

Function Description
add()

Adds elements to the current HTML element.

​​addClass()

​​Adds the specified class to the current HTML element. Has no effect if the class is already present.

after() ​​Inserts content after the current HTML element.
append()

Inserts content at the end of the current HTML element.

attr()

Changes the given attribute of the current HTML element with the given value.

before() ​Inserts content before the current HTML element.
​​children()​​ ​Returns the immediate children of the current HTML element.
clone() Returns a copy of the current HTML element.​

closest()

This function gets the first parent element that matches a selector, by testing the element itself and traversing up through its ancestors in the DOM tree.

css() Gets the value of a style property for the HTML element or sets one or more CSS properties for the HTML element.

empty()

Removes the contents (child elements and inner HTML) from the current element.

find()

Performs a search for a text in the children of the current HTML element and returns a new result set with elements that surround the occurrences.

hasClass() Returns true if the current HTML element has the specified class.
height() Gets or sets the outer height of an element, including padding and borders.

hide()

Hides the HTML element.

html()

​Replaces the inner HTML of the element with the supplied value, or returns the HTML of the current element if no value is supplied.

info() Post Pagination Scripts only. Returns pagination information for the current HTML element.
is(selector) Returns true if the current HTML element matches the supplied CSS selector.

next()

Returns the next sibling of the current HTML element.

overflows()

Returns a boolean value indicating whether the current HTML element overflows its box boundaries.

pageref()

Returns a marker that will be replaced with the element's page number after pagination. This only works for elements in the section that is currently being merged.

parent() Returns the parent of the HTML element.
prepend() ​Inserts content at the beginning of an HTML element or of each element in a set of HTML elements.

prev()

Returns the previous sibling of the current HTML element.

​​remove() ​Removes an HTML element or a set of HTML elements from the document.
removeAttr() Removes the specified attribute from the current HTML element.
removeClass() Removes the specified class from the current HTML element. Has no effect if the class is not present.

replaceWith()

Replaces the current HTML element (with a snippet, for example). Returns the current element.

show() Shows the HTML element in the template.
tagName() Returns the HTML tag name of the element, in uppercase. For an example see: Creating a Table Of Contents.
​​​text() Replaces the text content of the HTML element with the supplied value, or returns the text content of the element if no value is supplied.​
width() Gets or sets the outer width of the HTML element, including padding and borders.