Cum se utilizează HTML & Cu Shadow DOM
Slot HTML este unul dintre cele mai remarcabile standarde făcute de W3C. Combinați-l cu un alt standard impresionant W3C numit template-uri, și aveți o fabuloasă combinație cu care să lucrați. A fi capabil să creați și adăugați elemente HTML la o pagină folosind JavaScript este o sarcină necesară și importantă.
Este util atunci când un fragment de cod trebuie să apar doar la anumite momente, sau când nu doriți să tastați sute de elemente HTML structurate similar, dar doriți să automatizeze procesul.
Crearea elementelor HTML în JavaScript este nu atât de dorit. Este necesar să verificați și să verificați dacă ați acoperit toate etichetele, le-ați plasat în ordinea corectă, în ansamblu, există doar de asemenea mult pentru a tip și a urmări. Cu toate acestea, acest turbulență, ai o soluție cand tag-ul a apărut. Dacă trebuie să fie ceva adăugate dinamic în pagină, îl puteți pune în interior
element.
În acest post, vă voi arăta cum puteți utiliza
și tag-uri împreună cu JavaScript la creați o fabrică de tabele mini HTML care poate crea și popula sute de mese similare.
și
Etichete
eticheta deține cod HTML nu vor fi redate de browsere până când este adăugat corespunzător în document, folosind JavaScript.
eticheta este a placeholder pe care îl adăugați la DOM-ul Shadow care pot fi făcute din conținutul element.
A Umbra DOM este similar cu un DOM obișnuit (modelul de document analizat din HTML). Aceasta creează un copac cu scop (un arbore DOM Shadow), care are a rădăcină proprie și poate avea, de asemenea stil propriu.
Când inserați Arborele Shadow DOM într-un element din documentul principal - elementul va fi apoi numit umbra gazdă -, toate elementele copilului gazdei umbrite care sunt marcate cu slot
atribut (nu același lucru cu cel menționat mai sus
tag) va ia loc în noul subtree introdus.
DOMNUL Umbrelor, de la scrierea acestui articol (iulie 2017), sunt acceptate numai în browserele bazate pe WebKit și Blink dar puteți verifica în orice moment starea reală de asistență a browserului pe CanUUse.
Configurarea codului HTML
Încă confuz? Să vedem un cod, începând cu element.
Interior În interiorul șablonului, De asemenea, am adăugat unele stiluri de bază pentru masă, folosind În afara șablonului, sunt două Fiecare Chiar acum, tot ceea ce puteți vedea pe pagină sunt șirurile de text conținute în intervalul de timp, deci trebuie să adăugăm și JavaScript. Folosind Javascript, inserăm tabelul din interiorul șablonului în ambele secvențe ca arbore DOM Shadow. După inserare, deschiderile se pun în sloturile respective din interiorul mesei și se afișează titlul coloanelor sau valorile celulelor dorite. Rezultatul va fi două tabele generate automat care utilizează același șablon. În primul rând, trebuie să verificăm dacă Shadow DOM este acceptat în browser-ul utilizatorului. Creăm o variabilă personalizată numită În interiorul Sunt Două Atunci noi adăugați o copie a conținutului șablonului la arborele Shadow DOM utilizând Și tabelele noastre dinamice HTML sunt gata, iată cum arată arhiva în Chrome:, există a
bine utilizare ca model pentru crearea unor mese care vor fi adăugate la un document. Sunt
elementele din interiorul celulelor tabelului ( și ) acționând ca substituenți pentru titlurile coloanelor și valorile celulelor. Fiecare slot are un mod unic Nume
atribuiți asta o identifică.
etichetă.
, pentru două tabele separate pe care dorim să le adăugăm la pagină.
elementul are a
slot
atributul valorii care este egal cu Nume
valoare a lor corespunzătoare
în interiorul etichetei .
Atașarea arborelui DOM Shadow
attachShadow ()
metodă atașează un arbore DOM Shadow la un element și returnează nodul rădăcină al arborelui DOM Shadow. dacă
condiția din codul de mai jos verifică dacă browserul acceptă această metodă prin testarea dacă divs-ul de pe pagină are attachShadow
metodă. // verificați dacă Shadow DOM este suportat dacă ('attachShadow' în document.createElement ('div')) else console.warn ('attachShadow nu este suportat');
templateContent
acea servește drept referință la conținutul șablonului. dacă ('attachShadow' în document.createElement ('div')) let templateContent = document.querySelector ('template'). permite divs = document.querySelectorAll ('div'); divs.forFiecare (funcția (div) // bucla interioară); altceva console.warn ('attachShadow nu este acceptat');
pentru fiecare
buclă, un arbore DOM Shadow este atașat la fiecare div (div.attachShadow (mode: 'deschis')
).mod
Opțiuni pentru attachShadow
: deschis
și închis
. Dacă închis
a fost aleasă nodul rădăcină al arborelui Shadow DOM ar deveni inaccesibil la elemente și obiecte DOM exterioare.templateContent.cloneNode (true)
metodă. dacă ('attachShadow' în document.createElement ('div')) let templateContent = document.querySelector ('template'). permite divs = document.querySelectorAll ('div'); divs.forFiecare (funcția (div) div.attachShadow (mode: 'deschis'). appendChild (templateContent.cloneNode (true))); altceva console.warn ('attachShadow nu este acceptat');