# Set Element Attribute

{% hint style="info" %}
**Block Information**

Available in: Page Flow

Toolbox Category: Html/DOM

Block Type: [Regular](/app-editor/page-flow/block-anatomy.md#regular-block)
{% endhint %}

**`Set Element Attribute`** is a [regular block](/app-editor/page-flow/block-anatomy.md#regular-block) that allows you to set the value of any [HTML attribute](https://en.wikipedia.org/wiki/HTML_attribute) in elements on a page or form.

{% hint style="success" %}
Refer to the [Set Element Attribute in Data Design](/app-editor/page-flow/toolbox-blocks/set-element-attribute-in-data-design.md) block for dynamically generated content.
{% endhint %}

The block comes in two modes which are discussed below.

## Mode 1 <a href="#mode-1" id="mode-1"></a>

<div align="left"><figure><img src="/files/gA83qdIwMkt6Vs6K5jT4" alt="" width="383"><figcaption><p>Set Element Attribute (Mode 1)</p></figcaption></figure></div>

The Mode 1 version of the Set Element Attribute block consists of (from left to right):

* *Attribute:* [Input](/app-editor/page-flow/block-anatomy.md#input) configuration setting to specify the [HTML attribute](https://en.wikipedia.org/wiki/HTML_attribute) to set or change the value of.
* *Element*: [Selectable Input](/app-editor/page-flow/block-anatomy.md#selectable-input) to choose the element you want to set the attribute of.
* *Data*: [Value Parameter](/app-editor/page-flow/block-anatomy.md#value-parameters) that accepts the value for the attribute being set (of type [*text*](/app-editor/page-flow/references/value-types.md)*)*

## Mode 2 <a href="#mode-2" id="mode-2"></a>

<div align="left"><figure><img src="/files/aKMWWaZfSbrjiw5zNR90" alt="" width="383"><figcaption><p>Set Element Attribute (Mode 2)</p></figcaption></figure></div>

The Mode 2 version of the Set Element Attribute block consists of (from left to right):

* *Attribute*: [Value Parameter](/app-editor/page-flow/block-anatomy.md#value-parameters) that accepts a *text* value representing the [HTML attribute](https://en.wikipedia.org/wiki/HTML_attribute) to set or change the value of.
* *Element*: [Value Parameter](/app-editor/page-flow/block-anatomy.md#value-parameters) that accepts either a [*text*](/app-editor/page-flow/references/value-types.md) value in the form of a [CSS Selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors) or an [*element*](/app-editor/page-flow/references/value-types.md) value[.](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors) The Element block comes pre-attached for your convenience but can be removed and customized.
* *Data*: [Value Parameter](/app-editor/page-flow/block-anatomy.md#value-parameters) that accepts the value for the attribute being set (of type [*text*](/app-editor/page-flow/references/value-types.md)*)*

***

## Usage Examples

The image below shows an example of the Mode 1 version where a [Link](/app-editor/page-editor/built-in-elements/link.md) element is selected for which the *Attribute* input configuration is set to [href](/app-editor/page-editor/built-in-elements/link.md#href) and the *Data* value parameter is attached to a Text block containing the Zingy website URL.&#x20;

<div align="left"><figure><img src="/files/LItY9Sv8VcwidUfFlAid" alt="" width="563"><figcaption><p>Example of Set Element Attribute Mode 1</p></figcaption></figure></div>

In the next example we see a Mode 2 version where the *Element* value parameter is attached to a Text block containing a [CSS Selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors) that selects the same [Link](/app-editor/page-editor/built-in-elements/link.md) element and sets the same attribute: [href](/app-editor/page-editor/built-in-elements/link.md#href). This time the *Data* value parameter is attached to a Variable block for variable named a.

<div align="left"><figure><img src="/files/PPLqzHnCqbUIEtjs2Vsv" alt="" width="563"><figcaption><p>Example of Set Element Attribute Mode 2</p></figcaption></figure></div>

{% hint style="success" %}
NOTE: Using a CSS selector, you can operate on multiple elements that match the criteria specified by the selector. See the references below for more information:

* [Wikipedia article on CSS](https://en.wikipedia.org/wiki/CSS#Selector)
* [Mozilla Developer Network article on CSS selectors](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zingy.ai/app-editor/page-flow/toolbox-blocks/set-element-attribute.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
