A HTML és árnyék DOM használatával
HTML slot a W3C egyik legjelentősebb szabványa. Kombinálja ezt egy másik, W3C-vel felszerelt, szabványos szabványnak sablonok, és van egy mesés elképzelése, hogy dolgozzon. Képes HTML elemek létrehozása és hozzáadása oldalra JavaScript használatával szükséges és fontos feladat.
Ez akkor hasznos, ha egy kódrészletre van szükség csak bizonyos időpontokban jelenik meg, vagy ha nem szeretne több száz hasonlóan strukturált HTML elemet beírni, de szeretné automatizálja a folyamatot.
HTML elemek létrehozása a JavaScript-ben nem annyira kívánatos. Kétségbe kell vennie, hogy ellenőrizze és ellenőrizze, hogy az összes címkét lefedte-e, helyes sorrendbe helyezte őket, mindent összevetve, csak van is sokat kell írni és nyomon követni. Ez a zűrzavar azonban, megoldást kapott amikor az megjelent a címke. Ha valami kell dinamikusan hozzáadta az oldalt, belehelyezheted
elem.
Ebben a bejegyzésben megmutatom, hogyan használhatja a
és címkék együtt a JavaScripthez hozzon létre egy mini HTML asztali gyárat amelyek több száz hasonló táblát hozhatnak létre és tölthetnek be.
A
és
címkék
A a címke HTML kódot tartalmaz nem böngészők addig, amíg a JavaScript megfelelően hozzá lett adva a dokumentumhoz. A
címke a helyőrző, amelyet hozzáad egy árnyék DOM-hoz amely a tartalom tartalmából állítható elem.
A Árnyék DOM hasonló a rendszeres DOM-hoz (a HTML-ről elemzett dokumentummodell). Azt létrehoz egy lefejtett fát (egy árnyék DOM fa), amely a saját gyökere és lehet egy saját stílusa.
Amikor behelyezi az árnyék DOM-fát a fődokumentum egyik elemébe, akkor az elemet az shadow host -, az árnyékhordozó összes gyermekeleme, amelyet a rés
attribútum (nem azonos a fentiekkel
tag) helyezze el az újonnan beillesztett alfában.
A Shadow DOM, a cikk írása (2017. július), az csak WebKit- és Blink-alapú böngészőkben támogatott de bármikor ellenőrizheti a CanIUse böngésző támogatásának aktuális állapotát.
A HTML beállítása
Még mindig zavaró? Lássunk néhány kódot, kezdve a elem.
Belül A sablonon belül, Én is hozzáadtam néhány alapvető stílus az asztalhoz a A sablonon kívül, van két Minden egyes Most már csak az oldalon látható szöveges sztringek szerepelnek, így hozzá kell adnunk néhány JavaScript-t is. A Javascript használatával a táblát a sablon belsejéből mindkét divba helyezzük mint árnyék DOM fa. A beillesztés után a szakaszok a táblázatban lévő megfelelő résekbe kerülnek, és megjelenítik a kívánt oszlopcímeket vagy sejtértékeket. Az eredmény lesz két automatikus generált tábla ugyanazt a sablont használják. Először ellenőrizni kell, hogy a Shadow DOM támogatott-e a felhasználó böngészőjében. A Hozzunk létre egy egyéni változót Benne Vannak két Aztán mi adjunk egy példányt a sablon tartalmától az árnyék DOM fához a A dinamikus HTML-táblák készen állnak, a megjelenés így néz ki a Chrome-ban:, van egy
jól használni mert egyes táblák létrehozása ezt hozzáadjuk egy dokumentumhoz. Vannak
elemek az asztal celláiban ( és ) helyőrzőként jár el az oszlopcímek és a cellák értékei. Minden slot egyedülálló név
attribútumot azonosítja.
címke.
, két külön táblázathoz szeretnénk hozzáadni az oldalt.
elemnek van egy
rés
attribútum, amelynek értéke egyenlő a név
érték a megfelelő
címke belsejében .
Az árnyék DOM-fa csatlakoztatása
attachShadow ()
eljárás egy árnyék DOM fát csatol egy elemhez és visszaadja a Shadow DOM fa gyökércsomópontját. A ha
Az alábbi kódban szereplő feltétel azt ellenőrzi, hogy a böngésző támogatja-e ezt a módszert azáltal, hogy teszteli, hogy az oldal divs-jének van-e a attachShadow
eljárás. // ellenőrizze, hogy a Shadow DOM támogatott-e, ha ('attachShadow' a document.createElement ('div')) else console.warn ('attachShadow nem támogatott');
templateContent
hogy referenciaként szolgál a sablon tartalmához. if ('attachShadow' in document.createElement ('div')) let templateContent = document.querySelector ('sablon'). tartalom; hadd divs = document.querySelectorAll ('div'); divs.forEach (funkció (div) // belső hurok); else console.warn ('attachShadow nem támogatott');
az egyes
hurok, egy árnyék DOM fa minden div (div.attachShadow (mode: 'open')
).mód
opciók mert attachShadow
: nyisd ki
és zárva
. Ha zárva
a Shadow DOM fa gyökércsomópontja lett hozzáférhetetlenné válna a DOM elemekre és objektumokra.templateContent.cloneNode (igaz)
eljárás. if ('attachShadow' in document.createElement ('div')) let templateContent = document.querySelector ('sablon'). tartalom; hadd divs = document.querySelectorAll ('div'); divs.forEach (funkció (div) div.attachShadow (mode: 'open'). appendChild (templateContent.cloneNode (true))); else console.warn ('attachShadow nem támogatott');