DOM-Helfer: ATTRD, HIDDEN, VISIBLE, WIDTH, STYLE, NODEMOVE, DIFFDOM und APPEARANCE
ATTRD(element or event, [name])liestdata-name(Standarddata-id) eines Elements, eines jQuery-Objekts oder des Elements eines Ereignisses; bei einem einfachen Objekt liest es die Eigenschaft.HIDDEN(element)isttrue, wenn das Element nicht angezeigt wird (es oder ein Elternelement hatdisplay: none; ein Element, das direktes Kind des body ist, wird immer als nicht verborgen gemeldet, die Prüfung beginnt bei seinem Elternelement);VISIBLE(element, [threshold], [mode])isttrue, wenn es im sichtbaren Teil des Fensters liegt (mode'above'oder'below'fragt, wo es ist, wenn nicht).NOTFOCUSED()isttrue, wenn der Browser-Tab im Hintergrund ist, undinDOM(element)ist wahr, solange das Element im Dokument ist.WIDTH([element])gibt die Größenklasse der Breite des Elements zurück (Standard: das Fenster):'xs','sm','md'oder'lg'(die Grenzen stehen inDEF.devices).WWundWHsind die Größe des Fensters;$Wist das jQuery-Objekt des Fensters;SCROLLBARWIDTH()ist die Breite, die eine Scrollleiste einnimmt.SCROLLBAR(element, [options])umhüllt ein Element mit einer eigenen Scrollleiste und gibt es zurück;scrollbar.resize()berechnet sie neu, nachdem sich der Inhalt geändert hat.isTOUCH,isMOBILE,isROBOT,isSTANDALONE,isPRIVATEMODEundisIEsind Booleans über den Browser, die beim Start der Seite gesetzt werden.STYLE(css, [id], [selector])fügt dem Head einstylehinzu. Mit eineridwird der Style ersetzt, wenn du ihn erneut mit derselben ID aufrufst; mit einemselectorwird jede Regel davon umhüllt ('.a { }'wird zu'#p .a{ }').NODEINDEXOF(element)ist die Position des Elements unter seinen Geschwistern,NODEINSERT(element, reference, [before])verschiebt ein Element hinter (oder vor) ein anderes undNODEMOVE(element, [up])verschiebt es eine Stelle nach unten (oder oben).DIFFDOM(parent, selector, html, [attribute])macht die Kinder vonparent, die zuselectorpassen, gleich denen inhtml, ohne die bereits vorhandenen neu zu zeichnen: Ein Element ist dasselbe, wenn seinattributedenselben Wert hat (ohneattribute, wenn sein gesamtes HTML gleich ist). Es entfernt die, die nicht in der neuen Liste sind, fügt die neuen hinzu, bringt sie in die Reihenfolge vonhtmlund gibt{ add, upd, rem }zurück. Der Inhalt eines beibehaltenen Elements wird nicht ersetzt.APPEARANCE({ color, dark, large, <name>: value })setzt das Aussehen der Seite:darkundlargeschalten die Klassenui-darkundui-largedes body um,colorund jeder andere Schlüssel werden zu CSS-Variablen von:root(--color, und--rgbwird aus der Farbe berechnet) in einem einzigen<style id="cssappearance">.ENVIRONMENT(name, version, language, [env])setzt den Namen, der den Schlüsseln inlocalStoragevorangestellt wird, die Version und die Sprache (DEF.localstorage,DEF.version,DEF.language) und mitenvmehrereENV()-Werte.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<p id="p">A paragraph</p>
<div id="shown" style="width:300px;height:40px">Shown</div>
<div id="hidden" style="display:none"><span id="inside">Inside</span></div>
<div id="far" style="margin-top:3000px">Far away</div>
<div id="box" style="width:200px;height:50px;overflow:auto"><div style="height:300px">tall</div></div>
<ul id="list"><li id="a" data-id="a">a</li><li id="b" data-id="b">b</li><li id="c" data-id="c">c</li></ul>
<ul id="diff"><li data-id="1">one</li><li data-id="2">two</li></ul>
</body>
</html> Probiere es in deinem Browser aus
Bearbeite das Beispiel und führe es aus. Es läuft in einem isolierten Frame in deinem Browser; nichts wird an unseren Server gesendet.
Vorschau