Τρόπος χρήσης HTML & Με το DOM Shadow
Υποδοχή HTML είναι ένα από τα πιο αξιόλογα πρότυπα του W3C. Συνδυάστε το με ένα άλλο εντυπωσιακό πρότυπο W3C που ονομάζεται πρότυπα, και έχετε μια υπέροχη παρασκευή για να συνεργαστείτε. Το να είσαι ικανός να να δημιουργήσετε και να προσθέσετε στοιχεία HTML σε μια σελίδα χρησιμοποιώντας JavaScript είναι ένα απαραίτητο και σημαντικό καθήκον.
Είναι χρήσιμο όταν χρειάζεται ένα απόσπασμα κώδικα εμφανίζονται μόνο σε συγκεκριμένες ώρες, ή όταν δεν θέλετε να πληκτρολογήσετε εκατοντάδες στοιχεία με παρόμοια δομημένα HTML αλλά θέλετε να αυτοματοποιήσει τη διαδικασία.
Δημιουργία στοιχείων HTML στο JavaScript είναι δεν είναι τόσο επιθυμητή. Είναι μια ταλαιπωρία που πρέπει να ελέγξετε και να επανελέγξετε αν έχετε καλύψει όλες τις ετικέτες, τις τοποθετήσατε στη σωστή σειρά, συνολικά, υπάρχει μόνο πολύ πολύ για να πληκτρολογήσετε και να παρακολουθείτε. Αυτή η αναταραχή, ωστόσο, πήρε μια λύση όταν ο ετικέτα εμφανίστηκε. Αν κάτι πρέπει να είναι προστέθηκε δυναμικά στη σελίδα, μπορείτε να το βάλετε μέσα στο
στοιχείο.
Σε αυτή τη θέση, θα σας δείξω πώς μπορείτε να χρησιμοποιήσετε το
και tags μαζί με το JavaScript για να δημιουργήστε ένα εργοστάσιο πίνακα μίνι HTML που μπορούν να δημιουργήσουν και να συμπληρώσουν εκατοντάδες παρόμοιους πίνακες.
ο
και
ετικέτες
ο ετικέτα περιέχει κώδικα HTML που δεν θα αποδίδονται από προγράμματα περιήγησης μέχρι να προστεθεί σωστά στο έγγραφο, χρησιμοποιώντας το JavaScript. ο
η ετικέτα είναι a placeholder που προσθέτετε σε ένα σκιά DOM που μπορεί να γίνει από το περιεχόμενο του στοιχείο.
ΕΝΑ Σκιά DOM είναι παρόμοιο με ένα κανονικό DOM (το μοντέλο εγγράφου αναλύθηκε από HTML). Το δημιουργεί ένα δέντρο (δέντρο δέντρου σκιών), που έχει α ρίζα της δικής του και μπορεί επίσης να έχει ένα στυλ της δικής του.
Όταν εισάγετε τη δέντρο σκιώδους DOM σε ένα στοιχείο στο κύριο έγγραφο - το στοιχείο θα καλείται στη συνέχεια σκιά υποδοχής -, όλα τα παιδικά στοιχεία του host σκιά που επισημαίνονται με το θυρίδα
(όχι το ίδιο με το προαναφερθέν
ετικέτα) θα παίρνουν τη θέση τους στο νέο παρεμβαλλόμενο υπόστρωμα.
Το Shadow DOM, από τη συγγραφή αυτού του άρθρου (Ιούλιος 2017), είναι υποστηρίζεται μόνο σε προγράμματα περιήγησης WebKit και Blink αλλά μπορείτε να ελέγξετε την πραγματική κατάσταση υποστήριξης του προγράμματος περιήγησης στο CanIUse ανά πάσα στιγμή.
Ρύθμιση του HTML
Ακόμα σύγχυση; Ας δούμε κάποιο κώδικα, ξεκινώντας από το στοιχείο.
Μέσα Μέσα στο πρότυπο, Έχω προσθέσει επίσης μερικά βασικά στυλ για το τραπέζι, χρησιμοποιώντας το Έξω από το πρότυπο, υπάρχουν δύο Καθε Αυτή τη στιγμή, όλα όσα μπορείτε να δείτε στη σελίδα είναι οι χορδές κειμένου που περιέχονται στα διαστήματα, οπότε πρέπει να προσθέσετε και κάποιο JavaScript. Χρησιμοποιώντας το Javascript, εισάγουμε τον πίνακα από το εσωτερικό του προτύπου σε δύο τμήματα ως δέντρο σκιών DOM. Μετά την εισαγωγή, τα διαστήματα τοποθετούνται στις αντίστοιχες υποδοχές τους μέσα στο τραπέζι και εμφανίζουν τους επιθυμητούς τίτλους στηλών ή τις τιμές κυψελών. Το αποτέλεσμα θα είναι δύο αυτοματοποιημένους πίνακες που χρησιμοποιούν το ίδιο πρότυπο. Πρώτον, πρέπει να ελέγξουμε αν υποστηρίζεται το DOM σκιά στο πρόγραμμα περιήγησης του χρήστη. ο Δημιουργούμε μια προσαρμοσμένη μεταβλητή που ονομάζεται μεσα στην Υπάρχουν δύο Μετά εμείς προσθέστε ένα αντίγραφο του περιεχομένου του προτύπου στο δέντρο σκιών DOM χρησιμοποιώντας το Και, οι δυνατοί μας πίνακες HTML είναι έτοιμοι, εδώ είναι το πώς φαίνεται η έξοδος στο Chrome:, υπάρχει μια
Καλά χρήση ως σχέδιο Για δημιουργώντας μερικά τραπέζια αυτό θα προστεθεί σε ένα έγγραφο. Υπάρχουν
στοιχεία μέσα στα κελιά του πίνακα ( και ) ενεργώντας ως κάτοχοι θέσης για τους τίτλους της στήλης και τις τιμές κυττάρων. Κάθε υποδοχή έχει ένα μοναδικό όνομα
αυτό το χαρακτηριστικό το αναγνωρίζει.
ετικέτα.
, για δύο ξεχωριστούς πίνακες που θέλουμε να προσθέσουμε στη σελίδα.
στοιχείο έχει ένα
θυρίδα
χαρακτηριστικό της οποίας είναι η τιμή ίσο με το όνομα
αξία των αντίστοιχων τους
ετικέτα μέσα .
Επισύναψη του δέντρου σκιών DOM
attachShadow ()
μέθοδος αποδίδει μια δέντρο σκιώδους DOM σε ένα στοιχείο και επιστρέφει τον κόμβο ρίζας εκείνης της σκιάς δομής DOM. ο αν
η κατάσταση στον παρακάτω κώδικα ελέγχει εάν το πρόγραμμα περιήγησης υποστηρίζει αυτή τη μέθοδο ελέγχοντας αν τα divs στη σελίδα έχουν το attachShadow
μέθοδος. // ελέγξτε εάν υποστηρίζεται σκιά DOM εάν ('attachShadow' στο document.createElement ('div')) else console.warn ('attachShadow δεν υποστηρίζεται');
templateContent
ότι χρησιμεύει ως αναφορά στο περιεχόμενο του προτύπου. αν ('attachShadow' στο document.createElement ('div')) αφήστε το templateContent = document.querySelector ('template'). ας divs = document.querySelectorAll ('div'); divs.forEach (συνάρτηση (div) // εσωτερικός βρόχος). else console.warn ('attachShadow δεν υποστηρίζεται');
για κάθε
loop, είναι ένα δέντρο σκιών DOM που συνδέονται με κάθε διαίρεση (div.attachShadow (mode: 'ανοιχτό')
).τρόπος
επιλογές Για attachShadow
: Άνοιξε
και κλειστό
. Αν κλειστό
επιλέχθηκε ο κόμβος ρίζας του δέντρου σκιών DOM θα γινόταν απρόσιτο σε εξωτερικά στοιχεία DOM και αντικείμενα.templateContent.cloneNode (true)
μέθοδος. αν ('attachShadow' στο document.createElement ('div')) αφήστε το templateContent = document.querySelector ('template'). ας divs = document.querySelectorAll ('div'); divs.forEach (συνάρτηση (div) div.attachShadow (mode: 'ανοιχτό')) appendChild (templateContent.cloneNode (true))); else console.warn ('attachShadow δεν υποστηρίζεται');