$do
ts
$do(action: string|action[], target?: string, content?: any, extra?: number|string)Do a single or an array of actions, as described below.
action | target | content | extra |
|---|---|---|---|
cookieManages a cookie | Key1. Required. | Value2. Required. | Expiration in seconds. If negative, deletes. Default: 604800 (7 days). |
sessionManages a sessionStorage item | Key1. Required. | Value2. Required w/o extra. | If negative, deletes. Required w/o content. |
localManages a localStorage item | Key1. Required. | Value2. Required w/o extra. | If negative, deletes. Required w/o content. |
goGoes to an URL | URL. Required. | Delay in seconds. Default: 5. | |
openOpens an URL in another tab | URL. Required. | Delay in seconds. Default: 5. | |
reloadReloads the current page | Delay in seconds. Default: 5. | ||
scrollScrolls to an element | Element3[first]. Required. | ||
titleChanges the document title | New title. Required. | ||
textReplaces a text content | Element3. Required. | Text content. Required. | |
htmlReplaces a HTML content | Element3. Required. | HTML content. Required. | |
valueUpdates a value | Element3. Required. | New value. Required. | |
beforeAdds HTML before (outside) a element | Element3. Required. | HTML content. Required. | |
afterAdds HTML after (outside) a element | Element3. Required. | HTML content. Required. | |
prependAdds HTML inside (first) a element | Element3. Required. | HTML content. Required. | |
appendAdds HTML inside (last) a element | Element3. Required. | HTML content. Required. | |
showShows a element | Element3. Required. | ||
hideHides a element | Element3. Required. | ||
removeRemoves a element | Element3. Required. | ||
moveMoves a element | Destination3[first]. Required. | Source3[first]. Required. | |
cloneClones a element | Destination3. Required. | Source3[first]. Required. | |
addClassAdds CSS classes | Element3. Required. | Classes separated by space. Required. | |
remClassRemoves CSS classes | Element3. Required. | Classes separated by space. Required. | |
styleSets style to a element | Element3. Required. | Object with camelCase or kebab-case properties, and values. Required. | |
setAttrSets a attribute | Element3. Required. | Attribute name. Required. | Attribute value. Default: true. |
remAttrRemoves a attribute | Element3. Required. | Attribute name. Required. | |
triggerTriggers an event | Element3. Required. | Event name. Required. | |
methodCalls a method | Element3. Required. | Method. Required. | |
copyCopies to the clipboard | Element3[first]. Copy its value or innerText4. Required w/o content. | Fallback when target is not found or given.Required w/o target. | |
pastePastes from the clipboard | Element3. Required. | Destination propriety. Default: value or textContent4. | |
callbackExecutes a bit of code | JS code, limit to 22 length. Required. | ||
scriptAdds a new script tag | Script ID. Required. | Script full URL source. Required. | Object with atributes. Default: { async: '' }. |
pipRequests picture-in-picture mode for a video | VideoElement3[first]. Default: 'video'. | ||
toastShows a alert and returns its ID | URL. Default: none. | Toast text. Required. | Duration in seconds. Default: 5. |
delayDelays one or a list of actions | One or an array of actions. Required. | Delay in seconds. Default: 5. | |
ignoreSkips. |
Usage
html
<button x-on:click="$do('cookie', 'terms-accept', 'yes')">Accept</button>js
$do([
{ action: 'after', target: 'body', content: '<p id="newP">Lorem ipsum</p>' },
{ action: 'setAttr', target: '#newP', content: 'class', extra: 'truncate' },
])Notes
- Storage key
A plain-text string that will be sanitized. - Storage value
The content will beJSON.stringify. - Element selector
A CSS selector, such as#id,.class,element,element[attr=value]. Affects all matched elements, except for those one marked with[first], which affects only the first found. If no element is found, fails silently. - Value or else
Uses the value if the element is aninput,output,select,button,option, ortextarea.