Skip to main content

@rtorcato/browser-common / dom

dom

Functions

$()

$(selector, parent?): Element | null

Defined in: dom/index.ts:12

Selects a single element by CSS selector.

Parameters

selector

string

The CSS selector.

parent?

Element | Document

The parent element to search within (defaults to document).

Returns

Element | null

The first matching element or null.

Example

import { $ } from '@rtorcato/browser-common/dom'
const btn = $('button.primary')

$$()

$$(selector, parent?): Element[]

Defined in: dom/index.ts:27

Selects all elements matching a CSS selector.

Parameters

selector

string

The CSS selector.

parent?

Element | Document

The parent element to search within (defaults to document).

Returns

Element[]

An array of matching elements.

Example

import { $$ } from '@rtorcato/browser-common/dom'
const items = $$('.item')

createElement()

createElement<K>(tag, props?, ...children): HTMLElementTagNameMap[K]

Defined in: dom/index.ts:43

Creates a new DOM element with optional properties and children.

Type Parameters

K

K extends keyof HTMLElementTagNameMap

Parameters

tag

K

The tag name.

props?

Partial<HTMLElementTagNameMap[K]> = {}

Optional properties/attributes.

children

...(string | HTMLElement)[]

Optional child elements or strings.

Returns

HTMLElementTagNameMap[K]

The created element.

Example

import { createElement } from '@rtorcato/browser-common/dom'
const btn = createElement('button', { className: 'primary' }, 'Save')

removeElement()

removeElement(el): void

Defined in: dom/index.ts:65

Removes an element from the DOM.

Parameters

el

Element

The element to remove.

Returns

void

Example

import { removeElement } from '@rtorcato/browser-common/dom'
removeElement(document.querySelector('.toast')!)

setAttributes()

setAttributes(el, attrs): void

Defined in: dom/index.ts:81

Sets multiple attributes on an element.

Parameters

el

Element

The element.

attrs

Record<string, string>

An object of attribute key-value pairs.

Returns

void

Example

import { setAttributes } from '@rtorcato/browser-common/dom'
setAttributes(input, { type: 'email', required: 'true' })

addClass()

addClass(el, ...classes): void

Defined in: dom/index.ts:97

Adds one or more classes to an element.

Parameters

el

Element

The element.

classes

...string[]

The classes to add.

Returns

void

Example

import { addClass } from '@rtorcato/browser-common/dom'
addClass(el, 'active', 'highlighted')

removeClass()

removeClass(el, ...classes): void

Defined in: dom/index.ts:111

Removes one or more classes from an element.

Parameters

el

Element

The element.

classes

...string[]

The classes to remove.

Returns

void

Example

import { removeClass } from '@rtorcato/browser-common/dom'
removeClass(el, 'hidden')

toggleClass()

toggleClass(el, className, force?): boolean

Defined in: dom/index.ts:127

Toggles a class on an element.

Parameters

el

Element

The element.

className

string

The class to toggle.

force?

boolean

Optional boolean to force add/remove.

Returns

boolean

True if the class is now present, false otherwise.

Example

import { toggleClass } from '@rtorcato/browser-common/dom'
const isOpen = toggleClass(panel, 'open')

hasClass()

hasClass(el, className): boolean

Defined in: dom/index.ts:142

Checks if an element has a specific class.

Parameters

el

Element

The element.

className

string

The class to check.

Returns

boolean

True if the element has the class, false otherwise.

Example

import { hasClass } from '@rtorcato/browser-common/dom'
if (hasClass(el, 'active')) doSomething()

getData()

getData(el, key): string | undefined

Defined in: dom/index.ts:157

Gets the value of a data-* attribute from an element.

Parameters

el

HTMLElement

The element.

key

string

The data attribute key (without 'data-').

Returns

string | undefined

The value or undefined.

Example

import { getData } from '@rtorcato/browser-common/dom'
const id = getData(el, 'userId')

setData()

setData(el, key, value): void

Defined in: dom/index.ts:172

Sets the value of a data-* attribute on an element.

Parameters

el

HTMLElement

The element.

key

string

The data attribute key (without 'data-').

value

string

The value to set.

Returns

void

Example

import { setData } from '@rtorcato/browser-common/dom'
setData(el, 'userId', '42')