Atrybuty

Atrybuty zostały pokrótce omówione w artykule Omówienie HTML. czas na szczegółową analizę.

To właśnie atrybuty sprawiają, że HTML jest tak skuteczny. Atrybuty to nazwy oddzielone spacjami oraz pary nazwa-wartość widoczne w tagu otwierającym, dostarcza informacji o elemencie i jego funkcjonalności.

Tag otwierający, atrybuty i tag zamykający oznaczone etykietą elementu HTML.

Atrybuty określają zachowanie, połączenia i funkcjonalność elementów. Niektóre atrybuty są globalne, co oznacza, że mogą się pojawiać w tagu otwierającym dowolnego elementu. Inne atrybuty odnoszą się do kilku elementów, ale nie do wszystkich. Pozostałe atrybuty odnoszą się do konkretnego elementu, które mają znaczenie tylko w odniesieniu do jednego elementu. W kodzie HTML wszystkie atrybuty oprócz atrybutów logicznych i do pewnego stopnia wyliczanych wymagają wartości.

Jeśli wartość atrybutu zawiera spację lub znaki specjalne, należy ująć ją w cudzysłów. Z tego powodu oraz dla większej czytelności informacji o cytatach.

W kodzie HTML wielkość liter nie ma znaczenia, ale w niektórych wartościach atrybutów już tak. W wartościach, które są częścią specyfikacji HTML, wielkość liter nie jest rozróżniana. W zdefiniowanych wartościach ciągów znaków, takich jak nazwy klas i identyfikatorów, wielkość liter ma znaczenie. Jeśli w wartości atrybutu w kodzie HTML wielkość liter ma znaczenie, Wielkość liter w selektorze atrybutów w arkuszach CSS i JavaScript jest rozróżniana. w przeciwnym razie – nie.

<!-- the type attribute is case insensitive: these are equivalent -->
<input type="text">
<input type="TeXt">

<!-- the id attribute is case sensitive: they are not equivalent -->
<div id="myId">
<div id="MyID">

Atrybuty wartości logicznej

Jeśli istnieje atrybut wartości logicznej, ma on zawsze wartość prawda. Atrybuty wartości logicznej to autofocus, inert, checked, disabled, required, reversed, allowfullscreen, default, loop, autoplay, controls, muted, readonly, multiple, i selected. Jeśli istnieje co najmniej 1 z tych atrybutów, element jest wyłączony, wymagany, tylko do odczytu itp. Jeśli go nie ma, nie jest.

Wartości logiczne można pominąć, ustawić jako pusty ciąg lub stanowić nazwę atrybutu. ale nie musi być ustawiony na ciąg true. Wszystkie wartości, w tym true, false i 😀, są nieprawidłowe, przyjmą wartość prawda.

Te trzy tagi są równoważne:

<input required>
<input required="">
<input required="required">

Jeśli atrybut ma wartość false (fałsz), pomiń ten atrybut. Jeśli atrybut ma wartość true (prawda), dodaj atrybut, ale nie podawaj wartości. Na przykład required="required" nie jest prawidłową wartością w kodzie HTML. ale ponieważ required jest wartością logiczną, nieprawidłowe wartości przyjmują wartość prawda. Ponieważ jednak nieprawidłowe atrybuty wyliczane nie zawsze przyjmują tę samą wartość co brakujące wartości, łatwiej jest uzyskać pomijanie wartości zamiast zapamiętywania, które atrybuty są logiczne, a które wyliczane, i mogą podawać nieprawidłową wartość.

Podczas przełączania między wartościami true (prawda) i false (fałsz) dodaj i usuń atrybut całkowicie, korzystając z JavaScriptu, zamiast zmieniać jego wartość.

const myMedia = document.getElementById("mediaFile");
myMedia.removeAttribute("muted");
myMedia.setAttribute("muted");

Pamiętaj, że w językach XML, takich jak SVG, wszystkie atrybuty muszą zawierać wartość, w tym atrybuty logiczne.

Atrybuty wyliczane

Atrybuty wyliczane są czasami mylone z atrybutami logicznymi. Są to atrybuty HTML, które mają ograniczony zestaw wstępnie zdefiniowanych prawidłowych wartości. Podobnie jak atrybuty logiczne, mają wartość domyślną, jeśli atrybut istnieje, ale nie ma wartości. Jeśli na przykład dodasz <style contenteditable>, domyślna wartość to <style contenteditable="true">.

W przeciwieństwie do atrybutów logicznych pominięcie atrybutu nie oznacza jednak, że jest on fałszywy. obecny atrybut z brakującą wartością nie musi być prawdą; , a wartość domyślna dla nieprawidłowych wartości nie musi być taka sama jak w przypadku ciągu o wartości null. Kontynuując nasz przykład: Jeśli brakuje wartości lub jest ona nieprawidłowa, contenteditable ma domyślną wartość inherit. Można ją bezpośrednio ustawić na false.

Wartość domyślna zależy od atrybutu. W przeciwieństwie do wartości logicznych atrybuty nie mają automatycznie wartości „true” (prawda) jeśli istnieje. Jeśli zawiera <style contenteditable="false">, elementu nie można edytować. Jeśli wartość jest nieprawidłowa, np. <style contenteditable="😀">, lub – co zaskakujące – <style contenteditable="contenteditable">, wartość jest nieprawidłowa i domyślnie przyjmuje wartość inherit.

W większości przypadków brakujące i nieprawidłowe wartości są takie same. Jeśli na przykład atrybut type w <input> brakuje, występuje, ale nie ma wartości lub ma nieprawidłową wartość. Domyślna wartość to text. Jest to normalne zjawisko. Z tego względu warto wiedzieć, które atrybuty są logiczne, a które wyliczane. w miarę możliwości pomijaj wartości, aby nie pomyliły się, i wyszukaj je w razie potrzeby.

Atrybuty globalne

Atrybuty globalne to atrybuty, które można ustawić w dowolnym elemencie HTML, w tym elementach w interfejsie <head>. Dostępnych jest ponad 30 atrybutów globalnych. Teoretycznie można je dodać do dowolnego elementu HTML, jednak niektóre atrybuty globalne nie mają żadnego efektu po ustawieniu dla pewnych elementów; Możesz na przykład ustawić atrybut hidden w elemencie <meta>, ponieważ metadane nie są wyświetlane.

id

Atrybut globalny id służy do definiowania unikalnego identyfikatora elementu. Służy do różnych celów, w tym: – wartość docelowa identyfikatora fragmentu linku. – Identyfikacja elementów skryptu. Powiązanie elementu formularza z etykietą. – Dodanie etykiety lub opisu technologii wspomagających osoby z niepełnosprawnością. – Style kierowania z użyciem (bardzo szczegółowa analiza lub selektorów atrybutów) w CSS.

Wartość id jest ciągiem bez spacji. Jeśli dokument zawiera spację, nie będzie on uszkodzony, ale będzie trzeba kierować na id ze znakami zmiany znaczenia w kodzie HTML, CSS i JS. Pozostałe znaki są prawidłowe. Wartością id może być 😀 lub .class, ale nie jest to dobry pomysł. Aby ułatwić programowanie dla Ciebie i Twojej przyszłości, nadaj pierwszemu znakowi litery id literę, i używaj tylko liter ASCII, cyfr, _ i -. Warto najpierw ułożyć konwencję nazewnictwa w id, a potem się jej trzymać. , ponieważ w wartościach id wielkość liter jest rozróżniana.

Parametr id powinien być unikalny dla dokumentu. Jeśli atrybut id zostanie użyty więcej niż raz, układ strony prawdopodobnie nie ulegnie awarii. ale JavaScript, linki i interakcje z elementami mogą nie działać zgodnie z oczekiwaniami.

Pasek nawigacyjny zawiera cztery linki. Później omówimy element „link”, ale na razie linki nie są ograniczone. do adresów URL opartych na protokole HTTP; mogą to być identyfikatory fragmentów do sekcji strony w bieżącym dokumencie (lub w innych dokumentach).

Na stronie warsztatów dotyczących systemów uczących się pasek nawigacyjny w nagłówku strony zawiera 4 linki:

Atrybut href zawiera hiperlink, do którego kieruje użytkownika aktywacja linku. Gdy adres URL zawiera znak krzyżyka (#) po którym następuje ciąg znaków, jest to identyfikator fragmentu. Jeśli ten ciąg jest zgodny z id elementu w parametrze strony internetowej, fragment będzie linkiem do tego elementu, czyli zakładką. Przeglądarka przewinie stronę do punktu, w którym zdefiniowano reklamę zakotwiczoną.

Te 4 linki prowadzą do 4 sekcji naszej strony wskazanych za pomocą atrybutu id. Gdy użytkownik kliknie dowolną cztery linki na pasku nawigacyjnym, element powiązany z identyfikatorem fragmentu oraz element zawierający pasujący identyfikator minus #, przewija się do widoku.

Materiał <main> z warsztatu dotyczącego systemów uczących się składa się z 4 sekcji z identyfikatorami. Gdy użytkownik kliknie jedną z w tabeli <nav>, sekcja z tym identyfikatorem fragment będzie widoczna. Znaczniki podobne do tych:

<section id="reg">
  <h2>Machine Learning Workshop Tickets</h2>
</section>

<section id="about">
  <h2>What you'll learn</h2>
</section>

<section id="teachers">
  <h2>Your Instructors</h2>
  <h3>Hal 9000 <span>&amp;</span> EVE</h3>
</section>

<section id="feedback">
  <h2>What it's like to learn good and do other stuff good too</h2>
</section>

Porównując identyfikatory fragmentów w linkach <nav>, zauważysz, że każdy z nich odpowiada parametrowi id elementu <section> w tagu <main>. Przeglądarka wyświetla bezpłatną „górę strony” . Ustawienie href="#top" (wielkość liter nie jest rozróżniana) lub po prostu href="#" spowoduje przewijanie użytkownika na górę strony.

Separator znaku krzyżyka w elemencie href nie jest częścią identyfikatora fragmentu. Identyfikator fragmentu jest zawsze ostatni częścią adresu URL i nie jest wysyłana do serwera.

Selektory arkusza CSS

W CSS możesz kierować reklamy na każdą sekcję za pomocą selektora identyfikatora, takiego jak #feedback, lub – dla mniejszej ścisłości – z uwzględnieniem wielkości liter selektora atrybutów, [id="feedback"].

Tworzenie scenariusza

Na stronie MLW.com aplikacja jest dostępna tylko dla użytkowników myszy. Kliknięcie przełącznika światła włącza i wyłącza stronę.

Znaczniki obrazu przełącznika światła: html <img src="svg/switch2.svg" id="switch" alt="light switch" class="light" /> Atrybutu id można używać jako parametru metody getElementById() i, z prefiksem #, w ramach parametru dla metod querySelector() i querySelectorAll().

const switchViaID = document.getElementById("switch");
const switchViaSelector = document.querySelector("#switch");

Nasza jedna funkcja JavaScript korzysta z tej możliwości kierowania elementów według ich atrybutu id:

<script>
  /* switch is a reserved word in js, so we us onoff instead */
  const onoff = document.getElementById('switch');
  onoff.addEventListener('click', function(){
    document.body.classList.toggle('black');
  });
</script>

<label>

Element HTML <label> ma atrybut for, który przyjmuje jako wartość id elementu sterującego formularza, z którym jest powiązany. Utworzenie wyraźnej etykiety przez umieszczenie elementu id w każdym elemencie sterującym formularza i sparowanie każdego z nich z atrybutem for etykiety. że każdy element sterujący formularza jest powiązany z etykietą.

Każda etykieta może być powiązana tylko z jednym elementem sterującym formularza, natomiast element sterujący formularza może mieć więcej niż jedną powiązaną etykietę.

Jeśli element sterujący formularza jest umieszczony między tagiem otwierającym i zamykającym <label>, atrybuty for i id nie są wymagane. Jest to tzw. „wartość niejawna” . Dzięki etykietom wszyscy użytkownicy wiedzą, do czego służą poszczególne elementy sterujące formularza.

<label>
  Send me a reminder <input type="number" name="min"> before the workshop resumes
</label>.

Powiązanie między for i id powoduje udostępnienie informacji użytkownikom technologii wspomagających osoby z niepełnosprawnością. Ponadto kliknięcie w dowolnym miejscu etykiety powoduje zaznaczenie powiązanego elementu i zwiększenie obszaru kliknięcia elementu sterującego. To nie tylko pomoc dla osób z ograniczoną sprawnością ruchową, co utrudnia przesuwanie w prawo; ale i tak każdy użytkownik urządzenia mobilnego ma szersze palce niż radio. Przycisk

W tym przykładzie piąte pytanie z fałszywego quizu to jednorazowe pytanie jednokrotnego wyboru. Każdy element sterujący formularza ma określony element z unikalną wartością id dla każdej z nich. Aby zapobiec przypadkowemu zduplikowaniu identyfikatora, wartość identyfikatora jest kombinacją numeru pytania i wartości.

Uwzględniając opcje, ponieważ etykiety opisują wartość opcji, w <fieldset> uwzględniliśmy wszystkie przyciski o tej samej nazwie. gdzie <legend> to etykieta lub pytanie dla całego zestawu.

Inne zastosowania ułatwień dostępu

Zastosowanie id w ułatwieniach dostępu i łatwości obsługi nie ogranicza się do etykiet. We wprowadzeniu do tekstu <section> zostało przekształcone w punkt orientacyjny regionu, odwołując się do elementu id elementu <h2> jako wartości parametru aria-labelledby interfejsu <section>, która zapewnia nazwa na potrzeby ułatwień dostępu:

<section id="about" aria-labelledby="about_heading">
<h2 id="about_heading">What you'll learn</h2>

Występuje ponad 50 stanów i właściwości aria-*, które można wykorzystać do zapewnienia ułatwień dostępu. aria-labelledby, aria-describedby, aria-details i aria-owns traktują jako wartości oddzieloną spacjami listę id. aria-activedescendant, czyli identyfikuje aktualnie aktywny element podrzędny, przyjmuje jako wartość pojedyncze odwołanie id: wartość pojedynczego elementu z ostrością (może być zaznaczony tylko jeden element naraz).

class

Atrybut class zapewnia dodatkowy sposób kierowania elementów za pomocą CSS (i JavaScript), ale nie służy do żadnych innych celów. w języku HTML (chociaż mogą z nich korzystać platformy i biblioteki komponentów). Jako wartość atrybutu class przyjmuje się listę rozdzielaną spacjami klas z rozróżnianiem wielkości liter dla elementu.

Budowanie solidnej struktury semantycznej umożliwia kierowanie elementów na podstawie ich położenia i funkcji. Struktura dźwięku umożliwia użycie selektorów elementów podrzędnych, selektorów relacyjnych i atrybutów. Gdy dowiesz się więcej o atrybutach w tej sekcji zastanów się, jak można stylizować elementy o tych samych atrybutach lub wartościach atrybutów. To nie to, Nie należy używać atrybutu class. Po prostu większość programistów nie zdaje sobie sprawy, że często nie ma takiej potrzeby.

Jak dotąd MLW nie używało żadnych klas. Czy witrynę można uruchomić bez nazwy klasy? Zobaczymy.

style

Atrybut style umożliwia stosowanie stylów wbudowanych, czyli stylów stosowanych do pojedynczego elementu, dla którego jest ustawiony atrybut. Atrybut style przyjmuje jako pary wartości właściwości CSS, przy czym składnia wartości jest taka sama jak zawartość Blok stylu CSS: właściwości są otoczone dwukropkiem (tak jak w przypadku CSS), a średniki kończą każdą deklarację, która następuje po wartości.

Style są stosowane tylko do elementu, dla którego ustawiono atrybut, a elementy podrzędne dziedziczą wartości właściwości odziedziczonych, jeśli nie są. zastąpione przez inne deklaracje stylów w elementach zagnieżdżonych albo w blokach lub arkuszach stylów <style>. Ponieważ wartość stanowi odpowiednik treści pojedynczego bloku stylu zastosowanego tylko do tego elementu, nie można go użyć do wygenerowanych treści, tworzyć animacji klatek kluczowych ani stosować na innych zasadach.

Chociaż atrybut style w rzeczywistości jest atrybutem globalnym, nie zalecamy używania go. Zamiast tego definiuje się style w osobnym pliku lub plikach. Atrybut style może być przydatny podczas programowania, ponieważ umożliwia szybkie określanie stylu, na przykład w celach testowych. Następnie wykonaj „rozwiązanie” i wklej go w połączonym pliku CSS.

tabindex

Atrybut tabindex można dodać do dowolnego elementu, aby go wyróżnić. Wartość tabindex określa, czy zostanie dodana do kolejności kart, a opcjonalnie w innej kolejności tabulacji.

Atrybut tabindex przyjmuje wartość będącą liczbą całkowitą. Wartość ujemna (konwencją jest użycie -1) sprawia, że element może (np. za pomocą JavaScriptu), ale nie dodaje elementu do sekwencji tabulacji. Wartość tabindex 0 sprawia, że element, który można zaznaczyć i osiągnąć za pomocą klawisza Tab, dodając go do domyślnej kolejności kart na stronie w kolejności kodu źródłowego. Wartość 1 lub więcej umieszcza element w sekwencji z priorytetem i nie jest zalecana.

Na tej stronie znajduje się funkcja udostępniania wykorzystująca element niestandardowy <share-action> działający jako <button>. tabindex zera pozwala dodać element niestandardowy do domyślnej kolejności znaków tabulacji na klawiaturze:

<share-action authors="@estellevw" data-action="click" data-category="web.dev" data-icon="share" data-label="share, twitter" role="button" tabindex="0">
  <svg aria-label="share" role="img" xmlns="http://www.w3.org/2000/svg">
    <use href="#shareIcon" />
  </svg>
  <span>Share</span>
</share-action>

role elementu button informuje użytkowników czytnika ekranu, że ten element powinien działać jak przycisk. JavaScript jest używany do zapewnienia, dotrzymujemy obietnicy działania przycisku; w tym obsługę zdarzeń click i keydown oraz naciśnięć klawiszy Enter i Spacja.

Elementy sterujące formularzy, linki, przyciski i elementy edytowalne mogą być zaznaczone. gdy użytkownik na klawiaturze naciśnie klawisz Tab, zaznaczenie zostanie przeniesione do następnego elementu, który można zaznaczyć, tak jakby był ustawiony tabindex="0". Inne elementy nie można zaznaczyć domyślnie. Dodaję: tabindex i umożliwia im skupienie się na nich, co w przeciwnym razie by ich nie zaznaczało.

Jeśli dokument zawiera elementy z parametrem tabindex o wartości 1 lub większej, zostaną one umieszczone w osobnej sekwencji kart. Jak widać w koderze, naciskanie klawisza Tab rozpoczyna się w osobnej sekwencji, w kolejności od najniższej do najwyższej wartości, przed przejściem przez te w sekwencji standardowej w kolejności źródłowej.

Zmiana kolejności przycisków może znacznie negatywnie wpływać na wygodę użytkowników. Utrudnia korzystanie z technologii wspomagających osoby z niepełnosprawnością – zarówno klawiatury, jak i czytników ekranu. swoje treści. Trudno jest też nimi zarządzać. Ważne jest skupienie, znajduje się cały moduł poświęcony porządkowi koncentracji.

role

Atrybut role jest częścią specyfikacji ARIA. a nie specyfikacji HMTL WhatWG. Atrybut role może służą do nadawania znaczenia treści semantycznej zawartości, dzięki czemu czytniki ekranu mogą informować użytkowników witryny o oczekiwanej interakcji użytkownika z obiektem.

Istnieje kilka popularnych widżetów interfejsu, np. pola złożone, paski menu, listy kart, i treegridy, które nie mają natywnego odpowiednika HTML. Na przykład podczas tworzenia wzorca projektu z kartami funkcje tab, tablist i Możesz użyć ról tabpanel. Osoba, która może zobaczyć interfejs nauczył się, jak poruszać się po widżecie i wyświetlać różne panele przez klikanie powiązanych kart. Dodanie roli tab do <button role="tab">, gdy grupa przycisków służy do wyświetlania różnych paneli, aby użytkownik czytnika ekranu o tym wiedział że wybrany element <button> może wyświetlać powiązany panel, zamiast implementować typowe funkcje przypominające przyciski.

Atrybut role nie zmienia działania przeglądarki ani interakcji z urządzeniem, np. z klawiaturą czy wskaźnikiem – dodaje wartość role="button" do elementu <span>. nie zmienia jej w <button>. Dlatego zalecamy używanie semantycznych elementów HTML zgodnie z ich przeznaczeniem. Jednak w przypadku używania funkcji nie można wybrać właściwego elementu, atrybut role umożliwia informowanie użytkowników czytników ekranu o zmodyfikowaniu elementu niesemantycznego. w rolę elementu semantycznego.

contenteditable

Element z atrybutem contenteditable ustawionym na true można edytować, zaznaczyć i jest on dodawany do kolejności kart tak jak Ustawiono: tabindex="0". Contenteditable to atrybut wyliczany, który obsługuje wartości true i false o domyślnej wartości inherit , jeśli atrybut nie istnieje lub ma nieprawidłową wartość.

Te trzy tagi otwierające są równoważne:

<style contenteditable>
<style contenteditable="">
<style contenteditable="true">

Jeśli użyjesz właściwości <style contenteditable="false">, elementu nie będzie można edytować (chyba że domyślnie można go edytować, np. <textarea>). Jeśli wartość jest nieprawidłowa, np. <style contenteditable="😀"> lub <style contenteditable="contenteditable">, zostanie domyślnie ustawiona wartość inherit.

Aby przełączać się między stanami, wyślij zapytanie o wartość właściwości HTMLElement.isContentEditable tylko do odczytu.

const editor = document.getElementById("myElement");
if(editor.contentEditable) {
  editor.setAttribute("contenteditable", "false");
} else {
  editor.setAttribute("contenteditable", "");
}

Tę właściwość można też określić, ustawiając editor.contentEditable na true, false lub inherit.

Atrybuty globalne można stosować do wszystkich elementów, nawet do <style>. Możesz użyć atrybutów i odrobiny CSS, aby utworzyć aktywny edytor CSS.

<style contenteditable>
style {
  color: inherit;
  display:block;
  border: 1px solid;
  font: inherit;
  font-family: monospace;
  padding:1em;
  border-radius: 1em;
  white-space: pre;
}
</style>

Spróbuj zmienić wartość color elementu style na inną niż inherit. Następnie spróbuj zmienić selektor style na p. Nie usuwaj właściwości wyświetlania, bo blok stylu zniknie.

Atrybuty niestandardowe

Dotknęliśmy tylko płaszczyzny globalnych atrybutów HTML. Istnieje jeszcze więcej atrybutów, które mają zastosowanie tylko do jednego lub ograniczonej liczby elementów. Nawet w przypadku setek zdefiniowanych atrybutów możesz potrzebować atrybutu, którego nie ma w specyfikacji. HTML pomoże Ci w osiągnięciu tego celu.

Możesz utworzyć dowolny atrybut niestandardowy, dodając przedrostek data-. Możesz nadać atrybutowi dowolną nazwę, która zaczyna się od data- po których następuje dowolna seria małych liter, które nie zaczynają się od xml i nie zawierają dwukropka (:).

HTML jest wybaczający i nie przestanie działać, jeśli utworzysz nieobsługiwane atrybuty, które nie zaczynają się od data (nawet jeśli zaczynasz) Twojego atrybutu niestandardowego z xml lub zawierającego :, utworzenie prawidłowych atrybutów niestandardowych ma swoje zalety.data- Dzięki niestandardowym atrybutom danych masz pewność, że przypadkowo nie używasz istniejącej nazwy atrybutu. Atrybuty danych niestandardowych można wykorzystać w przyszłości.

Przeglądarki nie implementują domyślnych działań w przypadku konkretnych atrybutów z prefiksem data-, ale istnieje wbudowany interfejs API zbioru danych. do iteracji niestandardowych atrybutów. Właściwości niestandardowe to doskonały sposób na przekazywanie informacji dotyczących konkretnych aplikacji za pomocą JavaScriptu. Dodawaj atrybuty niestandardowe do elementów w formacie data-name i uzyskuj do nich dostęp w interfejsie DOM za pomocą typu dataset[name]. na danym elemencie.

<blockquote data-machine-learning="workshop"
  data-first-name="Blendan" data-last-name="Smooth"
  data-formerly="Margarita Maker" data-aspiring="Load Balancer"
  data-year-graduated="2022">
  HAL and EVE could teach a fan to blow hot air.
</blockquote>

Możesz użyć atrybutu getAttribute() z pełną nazwą atrybutu lub skorzystać z prostszej właściwości dataset.

el.dataset["machineLearning"]; // workshop
e.dataset.machineLearning; // workshop

Właściwość dataset zwraca obiekt DOMStringMap atrybutów data- każdego elementu. Istnieje kilka atrybutów niestandardowych. w: <blockquote>. Właściwość zbioru danych oznacza, że nie musisz wiedzieć, czym są atrybuty niestandardowe, aby uzyskać dostęp do ich nazwy i wartości:

for (let key in el.dataset) {
  customObject[key] = el.dataset[key];
}

Atrybuty w tym artykule mają charakter globalny, co oznacza, że można je stosować do dowolnego elementu HTML (chociaż nie wszystkie mają wpływ na tych elementów). Następnie przyjrzymy się 2 atrybutom ze zdjęcia wprowadzającego, których nie omówiliśmy – target i href – oraz kilka innych atrybutów charakterystycznych dla tych elementów.

Sprawdź swoją wiedzę

Sprawdź swoją wiedzę o atrybutach.

Atrybut id powinien być unikalny w dokumencie.

Fałsz
Spróbuj ponownie.
Prawda
Dobrze!

Wybierz prawidłowo sformułowany atrybut niestandardowy.

data-birthday
Dobrze
birthday
Spróbuj ponownie.
data:birthday
Spróbuj ponownie