HTML5. Przewodnik encyklopedyczny

HTML5. Przewodnik encyklopedyczny

Autorzy: Adam Freeman

Wydawnictwo: Helion

Kategorie: Informatyka

Typ: e-book

Formaty: EPUB MOBI

Ilość stron: 856

cena od: 129.00 zł





Kompendium wiedzy o HTML5!







HTML5 to hit ostatnich miesięcy. Jego możliwości robią ogromne wrażenie na projektantach stron internetowych, a użytkownicy na tym korzystają. Usługi geolokalizacyjne, zaawansowane funkcje graficzne oraz rozbudowana obsługa multimediów — to tylko niektóre z atutów HTML5. Można śmiało i bez przesady powiedzieć, że język ten będzie gorącym tematem jeszcze przez długi czas. Dlatego warto już dziś sprawdzić, jak wykorzystać jego potencjał.





Dzięki tej książce szybko opanujesz zasady HTML5. Już wkrótce bez najmniejszego problemu będziesz korzystał z nowych znaczników canvas, audio i video. Ponadto nauczysz się stosować mechanizmy do przechowywania danych w lokalnych zasobach przeglądarki oraz sprawdzisz, gdzie w danej chwili znajduje się użytkownik. Autor książki kładzie nacisk na poprawność semantyczną tworzonego kodu. Jest to niezwykle istotne w obecnych czasach, gdy Twoje dzieło będzie oglądane na przeróżnych urządzeniach – zarówno stacjonarnych, jak i mobilnych. Książka ta jest rewelacyjnym źródłem informacji o językach HTML5, CSS oraz JavaScript. Musisz ją mieć!





HTML5 to nowe możliwości:







  • obsługa plików multimedialnych,


  • zaawansowane funkcje graficzne,


  • usługi geolokalizacyjne,


  • możliwość pracy bez połączenia z siecią,


  • dostępność na różnych urządzeniach!








Poznaj i wykorzystaj potencjał HTML5!





 















• Kup książkę

• Księgarnia internetowa

• Poleć książkę

• Lubię to! » Nasza społeczność

• Oceń książkę

Spis treci

O autorze .......................................................................................................... 23

O korektorach merytorycznych ......................................................................... 24

Podzikowania ................................................................................................. 25

Cz I

Na dobry pocztek ............................................................................................ 27

Rozdzia 1

Czym jest HTML5 .............................................................................................. 29

Historia HTML ...............................................................................................................................29

Wprowadzenie JavaScript ......................................................................................................30

Koniec wojen przeglądarek ....................................................................................................30

Dominacja wtyczek ..................................................................................................................30

Pojawienie się semantycznego HTML ..................................................................................31

Trend: standard HTML nie nadąża za sposobami użycia HTML ....................................31

HTML5 .............................................................................................................................................31

Nowy standard, nowe standardy ...........................................................................................32

Natywna obsługa multimediów .............................................................................................32

Zasoby programistyczne .........................................................................................................32

Sieć semantyczna .....................................................................................................................33

Bieżący stan HTML5 ......................................................................................................................33

Obsługa HTML5 w przeglądarkach ......................................................................................33

Wykorzystanie HTML5 na stronach ....................................................................................33

Struktura tej książki ........................................................................................................................33

Więcej informacji o HTML5 .........................................................................................................34

Podsumowanie ................................................................................................................................34

Rozdzia 2

Przygotuj si ..................................................................................................... 35

Wybór przeglądarki ........................................................................................................................35

Wybór edytora HTML ...................................................................................................................36

Wybór serwera internetowego ......................................................................................................36

Kup książkę

Poleć książkę

„ SPIS TRECI

Pobranie Node.js .............................................................................................................................36

Pobranie modułu multipart ...................................................................................................36

Pobranie przykładowych kodów ..................................................................................................37

Podsumowanie ................................................................................................................................37

Rozdzia 3

Wprowadzenie do HTML .................................................................................. 39

Korzystanie z elementów ...............................................................................................................40

Dodatkowe elementy występujące w tym rozdziale ...........................................................41

Puste elementy .........................................................................................................................42

Samozamykające znaczniki ....................................................................................................42

Elementy void ...........................................................................................................................43

Atrybuty elementów .......................................................................................................................44

Nadawanie elementom wielu atrybutów ..............................................................................44

Atrybuty boolowskie ...............................................................................................................44

Atrybuty autorskie ...................................................................................................................45

Tworzenie dokumentu HTML .....................................................................................................45

Nadrzędna struktura ...............................................................................................................46

Metadane ...................................................................................................................................46

Treść ...........................................................................................................................................47

Rodzice, dzieci, potomkowie i bracia ....................................................................................47

Typy elementów .......................................................................................................................48

Encje HTML ....................................................................................................................................48

Globalne atrybuty HTML5 ............................................................................................................49

Atrybut accesskey ....................................................................................................................49

Atrybut class .............................................................................................................................50

Atrybut contenteditable ..........................................................................................................52

Atrybut contextmenu ..............................................................................................................53

Atrybut dir ................................................................................................................................53

Atrybut draggable ....................................................................................................................53

Atrybut dropzone ....................................................................................................................53

Atrybut hidden .........................................................................................................................53

Atrybut id ..................................................................................................................................55

Atrybut lang ..............................................................................................................................55

Atrybut spellcheck ...................................................................................................................56

Atrybut style .............................................................................................................................57

Atrybut tabindex ......................................................................................................................57

Atrybut title ..............................................................................................................................58

Przydatne narzędzia HTML ..........................................................................................................59

Podsumowanie ................................................................................................................................59

Rozdzia 4

Wprowadzenie do CSS ...................................................................................... 61

Definiowanie i nadawanie stylów .................................................................................................61

Właściwości CSS występujące w tym rozdziale ...................................................................62

Zastosowanie stylu inline ........................................................................................................62

Tworzenie osadzonego stylu ..................................................................................................63

Zastosowanie zewnętrznego arkusza stylu ...........................................................................65

6

Kup książkę

Poleć książkę

„ SPIS TRECI

Kaskadowość i dziedziczenie stylów ............................................................................................67

Style przeglądarek ....................................................................................................................67

Style użytkowników .................................................................................................................68

Kaskadowość stylów ................................................................................................................69

Zmiana kolejności ważnymi stylami .....................................................................................69

Precyzja i ocena kolejności w przypadkach spornych ........................................................70

Dziedziczenie ............................................................................................................................73

Praca z kolorami w CSS .................................................................................................................74

Szczegółowe wskazywanie kolorów ......................................................................................75

Długości w CSS ...............................................................................................................................75

Długości bezwzględne .............................................................................................................76

Długości względne ...................................................................................................................77

Inne jednostki w CSS ......................................................................................................................82

Miary kątów w CSS ..................................................................................................................82

Miary czasu w CSS ...................................................................................................................82

Sprawdzanie obsługi funkcji CSS .................................................................................................83

Przydatne narzędzia CSS ...............................................................................................................83

Przeglądarkowe raporty o stylach .........................................................................................83

Tworzenie selektorów przy użyciu SelectorGadget ............................................................83

Ulepszanie CSS z użyciem LESS ............................................................................................84

Framework CSS ........................................................................................................................84

Podsumowanie ................................................................................................................................85

Rozdzia 5

Wprowadzenie do JavaScript ........................................................................... 87

Przygotowanie do pracy z JavaScript ...........................................................................................88

Deklaracje ........................................................................................................................................89

Definiowanie i używanie funkcji ..................................................................................................90

Definiowanie funkcji parametrami .......................................................................................90

Definiowanie funkcji, które zwracają wyniki ......................................................................91

Zmienne i typy ................................................................................................................................92

Typy proste ...............................................................................................................................92

Tworzenie obiektów ................................................................................................................93

Praca z obiektami .....................................................................................................................95

Operatory JavaScript ......................................................................................................................99

Operatory równości i identyczności .....................................................................................99

Konwersja typów ...................................................................................................................102

Praca z tablicami ...........................................................................................................................104

Literał tablicowy .....................................................................................................................105

Odczytywanie i modyfikowanie zawartości tablicy ..........................................................105

Wyliczanie zawartości tablicy ..............................................................................................106

Metody obsługi tablic ............................................................................................................106

Obsługa błędów .............................................................................................................................106

Porównywanie wartości undefined i null ..................................................................................108

Sprawdzanie, czy zmienna lub właściwość ma wartość null lub undefined .................110

Rozróżnianie między null i undefined ................................................................................111

7

Kup książkę

Poleć książkę

„ SPIS TRECI

Przydatne narzędzia JavaScript ...................................................................................................111

Debugery JavaScript ..............................................................................................................111

Biblioteki JavaScript ..............................................................................................................112

Podsumowanie ..............................................................................................................................112

Cz II

Elementy HTML ............................................................................................... 113

Rozdzia 6

Elementy HTML — kontekst ........................................................................... 115

Semantyka a prezentacja ..............................................................................................................115

Jak dobierać elementy ..................................................................................................................116

Im mniej, tym lepiej ..............................................................................................................116

Nie nadużywaj elementów ....................................................................................................116

Wyrażaj się konkretnie i spójnie .........................................................................................116

Nie lekceważ odbiorcy ..........................................................................................................117

Struktura opisów elementów ......................................................................................................117

Spis elementów ..............................................................................................................................118

Elementy dokumentu i metadanych ...................................................................................118

Elementy tekstowe .................................................................................................................118

Grupowanie treści ..................................................................................................................120

Dzielenie treści na sekcje ......................................................................................................120

Tworzenie tabel ......................................................................................................................121

Tworzenie formularzy ...........................................................................................................121

Osadzanie zasobów ................................................................................................................122

Niewdrożone elementy ................................................................................................................123

Podsumowanie ..............................................................................................................................123

Rozdzia 7

Tworzenie dokumentów HTML ....................................................................... 125

Ustanowienie podstawowej struktury dokumentu ..................................................................126

Element doctype .....................................................................................................................126

Element html ..........................................................................................................................127

Element head ..........................................................................................................................127

Element body ..........................................................................................................................128

Opatrzenie dokumentu elementami metadanych ...................................................................129

Określenie tytułu dokumentu ..............................................................................................129

Ustawienie podstawy dla względnych adresów URL .......................................................130

Opisanie dokumentu metadanymi .....................................................................................131

Definiowanie stylów CSS ......................................................................................................134

Wskazywanie zewnętrznych zasobów ................................................................................139

Pobieranie zasobów z wyprzedzeniem ...............................................................................142

Wykorzystanie elementów skryptowych ...................................................................................142

Element script .........................................................................................................................142

Element noscript ....................................................................................................................148

Podsumowanie ..............................................................................................................................150

Rozdzia 8

Elementy tekstowe ......................................................................................... 151

Tworzenie odnośników ................................................................................................................152

Tworzenie odnośników zewnętrznych ...............................................................................153

Tworzenie względnych odnośników ...................................................................................154

8

Kup książkę

Poleć książkę

„ SPIS TRECI

Tworzenie odnośników wewnętrznych ..............................................................................155

Określanie kontekstu przeglądania .....................................................................................155

Oznaczanie treści podstawowymi elementami tekstowymi ...................................................156

Wskazywanie słów kluczowych i nazw produktów ..........................................................156

Wyróżnianie ...........................................................................................................................157

Wskazywanie wyrazów obcych i terminów technicznych ...............................................158

Wskazywanie nieścisłości i poprawek ................................................................................159

Wskazywanie ważnego tekstu ..............................................................................................160

Podkreślanie tekstu ................................................................................................................161

Pomniejszony tekst ................................................................................................................162

Indeksy górne i dolne ............................................................................................................163

Łamanie wiersza ............................................................................................................................164

Wymuszanie łamania wiersza ..............................................................................................164

Wskazanie odpowiedniego miejsca na łamanie wiersza ..................................................165

Przedstawianie danych wejściowych i wyjściowych ................................................................167

Odwołania, cytaty, definicje i skróty ..........................................................................................167

Skróty .......................................................................................................................................168

Definicje ..................................................................................................................................169

Cytowanie treści z innego źródła .........................................................................................169

Odwołania do innych źródeł ................................................................................................171

Elementy obsługi językowej ........................................................................................................171

Elementy ruby, rt i rp ............................................................................................................172

Element bdo ............................................................................................................................173

Element bdi .............................................................................................................................174

Pozostałe elementy tekstowe .......................................................................................................176

Wskazywanie zwyczajnego ciągu tekstu .............................................................................176

Podświetlanie tekstu ..............................................................................................................177

Wskazywanie dodanych lub usuniętych treści ..................................................................178

Wskazywanie godzin i dat ....................................................................................................180

Podsumowanie ..............................................................................................................................181

Rozdzia 9

Grupowanie treci .......................................................................................... 183

Konieczność grupowania treści ..................................................................................................184

Tworzenie akapitów .....................................................................................................................185

Element div ....................................................................................................................................186

Preformatowana treść ..................................................................................................................188

Cytowanie innych źródeł .............................................................................................................189

Przejścia tematyczne .....................................................................................................................191

Grupowanie treści w listach ........................................................................................................193

Element ol ...............................................................................................................................193

Element ul ...............................................................................................................................195

Element li ................................................................................................................................196

Listy definicji ..........................................................................................................................197

Listy o specyficznej numeracji .............................................................................................199

Ilustracje .........................................................................................................................................200

Podsumowanie ..............................................................................................................................202

9

Kup książkę

Poleć książkę

„ SPIS TRECI

Rozdzia 10 Tworzenie sekcji ............................................................................................. 203

Podstawowe nagłówki ..................................................................................................................204

Ukrywanie podtytułów ................................................................................................................205

Tworzenie sekcji ............................................................................................................................209

Nagłówki i stopki ..........................................................................................................................211

Blok nawigacyjny ..........................................................................................................................215

Artykuły .........................................................................................................................................218

Paski boczne ..................................................................................................................................220

Dane kontaktowe ..........................................................................................................................223

Sekcja szczegółów .........................................................................................................................224

Podsumowanie ..............................................................................................................................227

Rozdzia 11 Elementy tabel ............................................................................................... 229

Podstawowa tabela ........................................................................................................................229

Komórki nagłówków ....................................................................................................................232

Nadanie tabeli struktury ..............................................................................................................234

Wskazywanie nagłówków i części głównej tabeli ..............................................................235

Stopka ......................................................................................................................................236

Nieregularne tabele .......................................................................................................................238

Łączenie nagłówków z komórkami ............................................................................................242

Podpis tabeli ..................................................................................................................................243

Praca z kolumnami .......................................................................................................................245

Wskazywanie pojedynczych kolumn ..................................................................................247

Nadawanie obramowania elementowi table .............................................................................249

Podsumowanie ..............................................................................................................................251

Rozdzia 12 Formularze ...................................................................................................... 253

Podstawowy formularz ................................................................................................................254

Definiowanie formularza ......................................................................................................255

Oglądanie danych z formularza ...........................................................................................256

Konfiguracja formularza ..............................................................................................................258

Konfiguracja atrybutu action formularza ..........................................................................258

Konfiguracja metody HTTP .................................................................................................259

Konfiguracja kodowania danych .........................................................................................259

Określanie uzupełniania formularza ..................................................................................261

Określenie docelowego miejsca wyświetlenia odpowiedzi formularza .........................262

Nazwa formularza ..................................................................................................................263

Nadawanie formularzom etykiet ................................................................................................264

Automatyczne uaktywnianie elementów input .......................................................................265

Dezaktywacja poszczególnych elementów input .....................................................................266

Grupowanie elementów formularza ..........................................................................................267

Nadanie elementowi fieldset etykiety .................................................................................268

Dezaktywowanie grup elementów input przy użyciu elementu fieldset .......................269

Element button ..............................................................................................................................270

Zastosowanie elementu button do wysyłania formularzy ...............................................271

Zastosowanie elementu button do czyszczenia formularzy ............................................272

Zastosowanie elementu button jako elementu generycznego .........................................273

10

Kup książkę

Poleć książkę

„ SPIS TRECI

Praca z elementami spoza formularza .......................................................................................274

Podsumowanie ..............................................................................................................................275

Rozdzia 13 Konfiguracja elementu input .......................................................................... 277

Zastosowanie elementu input do podawania danych tekstowych ........................................278

Określanie rozmiaru elementu ............................................................................................278

Podawanie wartości i treści zastępczych ............................................................................280

Lista danych ............................................................................................................................281

Tworzenie pól tekstowych nieaktywnych i tylko do odczytu ..........................................284

Określenie kierunku tekstu ..................................................................................................285

Zastosowanie elementu input do pobierania haseł ..................................................................285

Zastosowanie elementu input do tworzenia przycisków ........................................................287

Zastosowanie elementu input do ograniczenia rodzaju danych wejściowych ....................289

Zastosowanie elementu input do pobrania wartości numerycznej ................................290

Zastosowanie elementu input do uzyskania liczby z podanego zakresu .......................291

Zastosowanie elementu input do uzyskania wartości boolowskiej ................................292

Zastosowanie elementu input do tworzenia określonych list opcji ...............................295

Zastosowanie elementu input do pobierania sformatowanych ciągów .........................296

Zastosowanie elementu input do pozyskiwania godzin i dat ..........................................298

Zastosowanie elementu input do pobierania danych o kolorze .....................................300

Zastosowanie elementu input do pobierania haseł wyszukiwania ........................................302

Zastosowanie elementu input do tworzenia ukrytych obiektów danych .............................303

Zastosowanie elementu input do tworzenia map i przycisków graficznych ........................305

Zastosowanie elementu input do wczytywania plików ...........................................................307

Podsumowanie ..............................................................................................................................308

Rozdzia 14 Inne elementy formularzy i weryfikacja danych wejciowych ........................ 309

Inne elementy formularzy ...........................................................................................................309

Tworzenie list opcji ...............................................................................................................309

Pobieranie wielowierszowego tekstu ..................................................................................313

Wskazanie wyniku obliczenia ..............................................................................................316

Generowanie par kluczy — publicznego i prywatnego ....................................................316

Weryfikacja danych wejściowych ...............................................................................................317

Sprawdzenie, czy użytkownik podał wartość ....................................................................318

Sprawdzenie, czy wartość mieści się w podanym zakresie ..............................................319

Sprawdzenie, czy wartość jest zgodna z wyrażeniem regularnym ..................................321

Sprawdzenie, czy wartość jest adresem e-mailowym lub URL .......................................322

Dezaktywacja weryfikacji danych ...............................................................................................322

Podsumowanie ..............................................................................................................................323

Rozdzia 15 Osadzanie zasobów ........................................................................................ 325

Osadzanie obrazów .......................................................................................................................326

Osadzanie odnośników graficznych ...................................................................................327

Tworzenie mapy obrazu działającej po stronie klienta ....................................................329

Osadzanie innych dokumentów HTML ...................................................................................331

11

Kup książkę

Poleć książkę

„ SPIS TRECI

Osadzanie zasobów przy użyciu wtyczek ..................................................................................333

Zastosowanie elementu embed ............................................................................................334

Zastosowanie elementów object i param ...........................................................................334

Inne zastosowania elementu object ............................................................................................337

Zastosowanie elementu object do osadzania obrazów .....................................................337

Zastosowanie elementu object do tworzenia map obrazu

działających po stronie klienta .........................................................................................338

Zastosowanie elementu object jako kontekstu przeglądania ..........................................338

Osadzanie wyobrażeń wartości liczbowych ..............................................................................339

Paski postępu ..........................................................................................................................339

Przedstawienie wartości z zakresu ......................................................................................340

Osadzanie innych elementów .....................................................................................................342

Osadzanie zasobów audiowizualnych .................................................................................342

Osadzanie grafiki ...................................................................................................................342

Podsumowanie ..............................................................................................................................342

Cz III

Kaskadowe arkusze stylów ............................................................................. 343

Rozdzia 16 Wprowadzenie do CSS .................................................................................... 345

Standaryzacja CSS .........................................................................................................................345

Model polowy ................................................................................................................................346

Spis selektorów ..............................................................................................................................346

Spis właściwości ............................................................................................................................349

Właściwości obramowania i tła ...........................................................................................349

Właściwości modelu polowego ............................................................................................350

Właściwości layoutu ..............................................................................................................351

Właściwości tekstu .................................................................................................................352

Właściwości przejść, animacji i przekształceń ...................................................................353

Inne właściwości ....................................................................................................................353

Podsumowanie ..............................................................................................................................354

Rozdzia 17 Selektory CSS — cz I .................................................................................. 355

Podstawowe selektory CSS ..........................................................................................................356

Wybranie wszystkich elementów ........................................................................................356

Wybieranie elementów według typu ..................................................................................357

Wybieranie elementów według klasy .................................................................................358

Wybieranie elementów według id .......................................................................................359

Wybieranie elementów według atrybutów ........................................................................360

Łączenie selektorów ......................................................................................................................363

Tworzenie zestawień selektorów .........................................................................................364

Wybieranie potomków .........................................................................................................365

Wybieranie dzieci ..................................................................................................................366

Wybieranie braci ....................................................................................................................368

Selektory pseudoelementów ........................................................................................................369

Selektor ::first-line ..................................................................................................................370

Selektor ::first-letter ...............................................................................................................370

12

Kup książkę

Poleć książkę

„ SPIS TRECI

Selektory :before i :after ........................................................................................................372

Licznik CSS .............................................................................................................................373

Podsumowanie ..............................................................................................................................374

Rozdzia 18 Selektory CSS — cz II ................................................................................. 375

Strukturalne selektory pseudoklas .............................................................................................376

Selektor :root ..........................................................................................................................376

Selektor dzieci .........................................................................................................................377

Selektory n-tego dziecka .......................................................................................................381

Selektory pseudoklas interfejsu użytkownika ...........................................................................382

Wybieranie aktywnych bądź nieaktywnych elementów ..................................................382

Wybieranie zaznaczonych elementów ................................................................................383

Wybieranie elementów domyślnych ...................................................................................384

Wybieranie elementów input o poprawnych i niepoprawnych wartościach ...............385

Wybieranie elementów input na podstawie zakresów .....................................................386

Wybór elementów input według obecności atrybutu required ......................................387

Dynamiczne selektory pseudoklas .............................................................................................388

Selektory :link i :visited .........................................................................................................388

Selektor :hover ........................................................................................................................389

Selektor :active ........................................................................................................................390

Selektor :focus .........................................................................................................................391

Inne pseudoselektory ...................................................................................................................392

Selektor negacji ......................................................................................................................392

Selektor :empty .......................................................................................................................393

Selektor :lang ..........................................................................................................................394

Selektor :target ........................................................................................................................394

Podsumowanie ..............................................................................................................................395

Rozdzia 19 Obramowania i ta .......................................................................................... 397

Nadanie obramowania .................................................................................................................398

Szerokość obramowania .......................................................................................................399

Styl obramowania ..................................................................................................................399

Nałożenie obramowania na jedną krawędź .......................................................................399

Właściwości zbiorcze obramowania ...................................................................................401

Obramowania z zaokrąglonymi rogami .............................................................................402

Obrazy w obramowaniu .......................................................................................................404

Tła elementów ...............................................................................................................................409

Kolor i obraz tła .....................................................................................................................409

Rozmiar obrazu tła ................................................................................................................410

Położenie obrazu tła ..............................................................................................................411

Zaczepienie obrazu tła ..........................................................................................................412

Pozycja początkowa tła i styl przycinania ..........................................................................413

Właściwość zbiorcza background .......................................................................................415

Cienie ..............................................................................................................................................416

Obrysy ............................................................................................................................................418

Podsumowanie ..............................................................................................................................421

13

Kup książkę

Poleć książkę

„ SPIS TRECI

Rozdzia 20 Model polowy ................................................................................................ 423

Dopełnienia ...................................................................................................................................424

Marginesy .......................................................................................................................................426

Rozmiar elementu .........................................................................................................................427

Pole wymiarów .......................................................................................................................429

Określanie minimalnych i maksymalnych wielkości .......................................................430

Przepełnienie .................................................................................................................................431

Widoczność elementu ..................................................................................................................434

Typy pola elementu ......................................................................................................................435

Elementy blokowe ..................................................................................................................435

Elementy liniowe ...................................................................................................................437

Elementy liniowo-blokowe ...................................................................................................439

Elementy run-in .....................................................................................................................439

Ukrywanie elementów ..........................................................................................................442

Pływające pola ...............................................................................................................................442

Zapobieganie stykaniu się elementów ................................................................................445

Podsumowanie ..............................................................................................................................448

Rozdzia 21 Tworzenie layoutów ....................................................................................... 449

Pozycjonowanie ............................................................................................................................450

Rodzaje pozycjonowania ......................................................................................................450

Kolejność elementów ............................................................................................................452

Layouty wielokolumnowe ...........................................................................................................454

Layouty flexboksowe ....................................................................................................................456

Prosty flexbox .........................................................................................................................459

Użycie wielu elastycznych elementów ................................................................................460

Przestrzeń pionowa ...............................................................................................................461

Maksymalne wielkości ..........................................................................................................463

Layouty tabelowe ..........................................................................................................................465

Podsumowanie ..............................................................................................................................467

Rozdzia 22 Stylizacja tekstu .............................................................................................. 469

Podstawowe style tekstu ..............................................................................................................470

Wyrównywanie i justowanie tekstu ....................................................................................470

Białe znaki ...............................................................................................................................472

Kierunek tekstu ......................................................................................................................474

Odstępy między wyrazami, literami i wierszami ..............................................................475

Dzielenie wyrazów .................................................................................................................476

Wcięcie pierwszego wiersza .................................................................................................478

Dekorowanie i przekształcanie tekstu .......................................................................................479

Nadawanie tekstowi cienia ..........................................................................................................480

Fonty ...............................................................................................................................................482

Wybór fonta ............................................................................................................................482

Rozmiar fonta .........................................................................................................................484

Styl i grubość fonta ................................................................................................................485

Fonty internetowe .........................................................................................................................486

Podsumowanie ..............................................................................................................................487

14

Kup książkę

Poleć książkę

„ SPIS TRECI

Rozdzia 23 Przejcia, animacje i przeksztacenia .............................................................. 489

Przejścia ..........................................................................................................................................490

Odwrócone przejścia .............................................................................................................493

Wybór sposobu obliczania wartości pośrednich ...............................................................494

Animacje ........................................................................................................................................496

Klatki kluczowe ......................................................................................................................498

Określenie kierunku powtórzeń ..........................................................................................501

Stan końcowy .........................................................................................................................502

Animowanie elementów layoutu .........................................................................................503

Wielokrotne wykorzystanie klatek kluczowych ................................................................504

Nadawanie wielu animacji wielu elementom ....................................................................505

Wstrzymywanie i wznawianie animacji .............................................................................507

Przekształcenia ..............................................................................................................................508

Nadanie przekształcenia .......................................................................................................509

Określenie punktu wyjścia ...................................................................................................510

Utworzenie animacji lub przejścia z przekształceniem ....................................................511

Podsumowanie ..............................................................................................................................512

Rozdzia 24 Inne waciwoci i funkcje CSS ....................................................................... 513

Określenie koloru i krycia elementu ..........................................................................................513

Określenie koloru pierwszego planu ..........................................................................................514

Określenie krycia elementu ..................................................................................................514

Obstylowanie tabel ................................................................................................................516

Kondensowanie obramowania tabel ...................................................................................516

Konfiguracja oddzielonych krawędzi .................................................................................518

Obsługa pustych komórek ....................................................................................................519

Położenie podpisu ..................................................................................................................520

Określenie układu tabeli .......................................................................................................521

Stylizacja list ...................................................................................................................................523

Określenie typu znaczników listy ........................................................................................523

Użycie obrazu jako znacznika listy ......................................................................................524

Określenie położenia znacznika ..........................................................................................525

Określenie stylu kursora ..............................................................................................................527

Podsumowanie ..............................................................................................................................528

Cz IV

Praca z DOM ................................................................................................... 529

Rozdzia 25 Wprowadzenie do DOM ................................................................................. 531

Obiektowy model dokumentu ....................................................................................................531

Poziomy DOM i zgodność ..........................................................................................................533

Testowanie obsługi funkcji DOM .......................................................................................533

Spis funkcji DOM .........................................................................................................................534

Właściwości Document ........................................................................................................534

Właściwości Window ............................................................................................................537

Właściwości HTMLElement ................................................................................................539

15

Kup książkę

Poleć książkę

„ SPIS TRECI

Właściwości CSS w DOM .....................................................................................................541

Zdarzenia DOM .....................................................................................................................544

Podsumowanie ..............................................................................................................................545

Rozdzia 26 Obiekt Document ............................................................................................ 547

Metadane dokumentu ..................................................................................................................549

Pobieranie informacji z dokumentu ...................................................................................549

Obiekt Location ......................................................................................................................552

Odczytywanie i zapisywanie ciasteczek ..............................................................................555

Stan żądania ............................................................................................................................556

Pozyskiwanie szczegółów o implementacji DOM ............................................................557

Znajdowanie obiektów elementów HTML ...............................................................................558

Zastosowanie właściwości do pozyskiwania obiektów elementów ................................559

Pozyskanie nazwanego elementu przy użyciu notacji tablicowej ...................................560

Przeszukiwanie elementów ..................................................................................................561

Przeszukiwanie łańcuchowe .................................................................................................564

Nawigacja w drzewie DOM .........................................................................................................565

Podsumowanie ..............................................................................................................................567

Rozdzia 27 Obiekt Window ............................................................................................... 569

Pozyskanie obiektu Window .......................................................................................................570

Pozyskiwanie informacji o oknie ................................................................................................570

Interakcja z oknem .......................................................................................................................572

Wyświetlanie zapytań ...................................................................................................................573

Pozyskiwanie ogólnych informacji ............................................................................................575

Praca z historią przeglądarki .......................................................................................................575

Poruszanie się po historii przeglądania ..............................................................................576

Wprowadzenie nowej pozycji do historii ...........................................................................577

Dodanie nowej pozycji z adresem innego dokumentu ....................................................579

Zapisywanie kompleksowych stanów w historii ...............................................................581

Zastąpienie pozycji w historii przeglądarki .......................................................................583

Przekazywanie komunikatów między dokumentami .............................................................584

Liczniki ...........................................................................................................................................588

Podsumowanie ..............................................................................................................................589

Rozdzia 28 Praca z elementami DOM ............................................................................... 591

Praca z obiektami elementów .....................................................................................................592

Praca z klasami .......................................................................................................................593

Praca z atrybutami elementu ...............................................................................................596

Praca z tekstem ..............................................................................................................................600

Modyfikacja modelu .....................................................................................................................602

Tworzenie i usuwanie elementów .......................................................................................603

Powielanie elementów ...........................................................................................................604

Przenoszenie elementów .......................................................................................................605

Porównywanie obiektów elementów ..................................................................................606

16

Kup książkę

Poleć książkę

„ SPIS TRECI

Praca z fragmentami HTML ................................................................................................608

Wstawienie elementu do bloku tekstu ................................................................................612

Podsumowanie ..............................................................................................................................613

Rozdzia 29 Stylizacja elementów DOM ............................................................................. 615

Praca z arkuszami stylów .............................................................................................................616

Pobieranie podstawowych informacji o arkuszach stylów ..............................................616

Praca z ograniczeniami medium .........................................................................................617

Dezaktywowanie arkuszy stylów .........................................................................................620

Praca z wybranymi stylami ...................................................................................................621

Praca ze stylami elementów ........................................................................................................623

Praca z obiektami CSSStyleDeclaration ....................................................................................624

Praca z właściwościami pomocniczymi ..............................................................................625

Praca ze standardowymi właściwościami ...........................................................................628

Zastosowanie szczegółowych obiektów CSS w DOM ......................................................632

Praca z obliczonymi stylami ........................................................................................................634

Podsumowanie ..............................................................................................................................637

Rozdzia 30 Zdarzenia ........................................................................................................ 639

Wykorzystanie prostych procedur obsługi zdarzeń ................................................................640

Wprowadzenie prostej procedury obsługi zdarzeń inline ...............................................640

Wprowadzenie prostej procedury obsługi zdarzeń ..........................................................642

Zastosowanie DOM i obiektu Event ..........................................................................................643

Odróżnianie zdarzeń według typu ......................................................................................645

Przepływ zdarzeń ...................................................................................................................647

Praca ze zdarzeniami, które można anulować ...................................................................653

Praca ze zdarzeniami HTML ......................................................................................................654

Zdarzenia obiektów Document i Window .........................................................................654

Praca ze zdarzeniami myszy .................................................................................................654

Praca ze zdarzeniami fokusowania .....................................................................................657

Praca ze zdarzeniami klawiatury .........................................................................................658

Praca ze zdarzeniami formularza ........................................................................................660

Podsumowanie ..............................................................................................................................661

Rozdzia 31 Obiekty poszczególnych elementów ............................................................... 663

Obiekty dokumentu i metadanych .............................................................................................663

Element base ...........................................................................................................................663

Element body ..........................................................................................................................663

Element link ............................................................................................................................664

Element meta ..........................................................................................................................664

Element script .........................................................................................................................664

Element style ...........................................................................................................................665

Element title ............................................................................................................................665

Inne elementy dokumentu i metadanych ..........................................................................665

Elementy tekstowe ........................................................................................................................665

Element a .................................................................................................................................665

Elementy del i ins ...................................................................................................................666

17

Kup książkę

Poleć książkę

„ SPIS TRECI

Element q ................................................................................................................................666

Element time ..........................................................................................................................666

Inne elementy tekstowe ........................................................................................................667

Elementy grupujące ......................................................................................................................667

Element blockquote ...............................................................................................................667

Element li ................................................................................................................................667

Element ol ...............................................................................................................................667

Inne elementy grupujące ......................................................................................................668

Elementy sekcji ..............................................................................................................................668

Element details .......................................................................................................................668

Inne elementy sekcji ..............................................................................................................668

Elementy tabeli ..............................................................................................................................668

Elementy col i colgroup ........................................................................................................668

Element table ..........................................................................................................................669

Elementy thead, tbody i tfoot ...............................................................................................669

Element th ...............................................................................................................................669

Element tr ................................................................................................................................670

Inne elementy tabeli ..............................................................................................................670

Elementy formularza ....................................................................................................................671

Element button .......................................................................................................................671

Element datalist ......................................................................................................................671

Element fieldset ......................................................................................................................671

Element form ..........................................................................................................................672

Element input .........................................................................................................................672

Element label ..........................................................................................................................674

Element legend .......................................................................................................................674

Element optgroup ..................................................................................................................674

Element option .......................................................................................................................675

Element output .......................................................................................................................675

Element select .........................................................................................................................676

Element textarea ....................................................................................................................677

Elementy content ..........................................................................................................................678

Element area ...........................................................................................................................678

Element embed .......................................................................................................................678

Element iframe .......................................................................................................................679

Elementy img ..........................................................................................................................679

Element map ...........................................................................................................................680

Element meter ........................................................................................................................680

Element object ........................................................................................................................680

Element param .......................................................................................................................681

Element progress ...................................................................................................................681

Podsumowanie ..............................................................................................................................682

18

Kup książkę

Poleć książkę

„ SPIS TRECI

Cz V

Zaawansowane funkcje .................................................................................. 683

Rozdzia 32 Wprowadzenie do Ajaksa. Cz I .................................................................. 685

Początki z Ajaksem .......................................................................................................................686

Obsługa odpowiedzi ..............................................................................................................689

Problem z Operą ....................................................................................................................690

Zdarzenia Ajaksa ...........................................................................................................................691

Obsługa błędów .............................................................................................................................694

Obsługa błędów wejściowych ..............................................................................................696

Obsługa błędów żądań ..........................................................................................................696

Obsługa błędów aplikacji ......................................................................................................697

Pobieranie i definiowanie nagłówków .......................................................................................697

Zmiana metody HTTP żądania ...........................................................................................697

Wyłączenie buforowania treści ............................................................................................699

Odczytywanie nagłówków odpowiedzi ..............................................................................699

Wydawanie żądań Ajaksa między różnymi źródłami .............................................................701

Nagłówek żądania źródła ......................................................................................................704

Zaawansowane funkcje CORS .............................................................................................704

Przerywanie żądań ........................................................................................................................704

Podsumowanie ..............................................................................................................................707

Rozdzia 33 Wprowadzenie do Ajaksa. Cz II ................................................................. 709

Przygotowanie się do wysłania danych serwerowi ..................................................................710

Utworzenie serwera ...............................................................................................................710

Problem ...................................................................................................................................712

Wysyłanie danych formularza ....................................................................................................713

Wysyłanie danych formularza obiektem FormData ...............................................................715

Utworzenie obiektu FormData ............................................................................................716

Modyfikacja obiektu FormData ..........................................................................................716

Wysyłanie danych JSON ..............................................................................................................718

Wysyłanie plików ..........................................................................................................................719

Śledzenie postępów wczytywania ...............................................................................................721

Żądanie i przetwarzanie różnych typów treści .........................................................................723

Pobieranie fragmentów HTML ...........................................................................................723

Pobieranie danych XML .......................................................................................................726

Pobieranie danych JSON ......................................................................................................728

Podsumowanie ..............................................................................................................................729

Rozdzia 34 Multimedia ..................................................................................................... 731

Element video ................................................................................................................................732

Wczytywanie filmu z wyprzedzeniem ................................................................................732

Wyświetlanie obrazu zastępczego .......................................................................................735

Rozmiar filmu .........................................................................................................................735

Źródło i format filmu ............................................................................................................736

Element track ..........................................................................................................................738

19

Kup książkę

Poleć książkę

„ SPIS TRECI

Element audio ...............................................................................................................................739

Praca z osadzonymi mediami za pośrednictwem DOM .........................................................740

Pobieranie informacji o mediach ........................................................................................741

Określenie możliwości odtworzenia multimediów ..........................................................743

Kontrolowanie sposobu odtwarzania .................................................................................745

Podsumowanie ..............................................................................................................................747

Rozdzia 35 Element canvas. Cz I .................................................................................. 749

Początki z elementem canvas ......................................................................................................750

Uzyskanie kontekstu płótna ........................................................................................................751

Rysowanie prostokątów ...............................................................................................................752

Ustawienie stanu rysowania ........................................................................................................754

Styl rysowania styku linii ......................................................................................................755

Styl wypełnienia kształtu i rysowania linii .........................................................................757

Gradienty ................................................................................................................................757

Gradient promieniowy ..........................................................................................................762

Wzory ......................................................................................................................................765

Zapisywanie i przywracanie stanu rysowania ...........................................................................767

Rysowanie obrazów ......................................................................................................................769

Obrazy filmowe ......................................................................................................................770

Obrazy z elementu canvas ....................................................................................................772

Podsumowanie ..............................................................................................................................773

Rozdzia 36 Element canvas. Cz II ................................................................................. 775

Rysowanie z użyciem ścieżek ......................................................................................................775

Rysowanie ścieżek liniami ....................................................................................................776

Rysowanie prostokątów ........................................................................................................779

Rysowanie łuków ..........................................................................................................................780

Wykorzystanie metody arcTo ..............................................................................................781

Wykorzystanie metody arc ...................................................................................................784

Rysowanie krzywych Béziera ......................................................................................................785

Rysowanie sześciennych krzywych Béziera .......................................................................786

Rysowanie kwadratowych krzywych Béziera ....................................................................787

Utworzenie obszaru przycinania ................................................................................................789

Rysowanie tekstu ..........................................................................................................................790

Wykorzystanie efektów i przekształceń .....................................................................................792

Cienie .......................................................................................................................................792

Przezroczystość ......................................................................................................................793

Kompozycja ............................................................................................................................794

Przekształcenia .......................................................................................................................796

Podsumowanie ..............................................................................................................................798

Rozdzia 37 Funkcja przecigania i upuszczania ................................................................ 799

Tworzenie elementów źródłowych ............................................................................................799

Obsługa zdarzeń przeciągania .............................................................................................800

Utworzenie obszaru docelowego ................................................................................................802

Przyjmowanie upuszczonych treści ....................................................................................804

20

Kup książkę

Poleć książkę

„ SPIS TRECI

Praca z obiektem DataTransfer ..................................................................................................806

Filtrowanie przeciąganych elementów według treści .......................................................808

Przeciąganie i upuszczanie plików ......................................................................................809

Podsumowanie ..............................................................................................................................812

Rozdzia 38 Geolokalizacja ................................................................................................ 813

Wykorzystanie geolokalizacji ......................................................................................................813

Pobranie informacji o bieżącej lokalizacji ..........................................................................813

Obsługa błędów funkcji geolokalizacji ......................................................................................816

Definiowanie opcji geolokalizacji ...............................................................................................818

Śledzenie lokalizacji ......................................................................................................................820

Podsumowanie ..............................................................................................................................821

Rozdzia 39 Magazynowanie danych ................................................................................. 823

Magazyn lokalny ...........................................................................................................................823

Nasłuchiwanie zdarzeń magazynowania ............................................................................826

Magazyn sesji .................................................................................................................................827

Podsumowanie ..............................................................................................................................830

Rozdzia 40 Aplikacje internetowe dziaajce offline ......................................................... 831

Problem ..........................................................................................................................................831

Utworzenie manifestu ..................................................................................................................833

Określanie sekcji manifestu ..................................................................................................835

Sekcja FALLBACK .................................................................................................................835

Sekcja NETWORK ................................................................................................................838

Sprawdzenie stanu przeglądarki .................................................................................................838

Praca z buforem offline ................................................................................................................839

Aktualizowanie .......................................................................................................................842

Pobranie aktualizacji .............................................................................................................843

Zastosowanie aktualizacji .....................................................................................................843

Podsumowanie ..............................................................................................................................844

Skorowidz........................................................................................................ 845

21

Kup książkę

Poleć książkę

„ SPIS TRECI

22

Kup książkę

Poleć książkę

R O Z D Z I A 2 8

Praca z elementami DOM

W poprzednim rozdziale, przy omówieniu funkcji działających na poziomie dokumentu, wspomniałem o niektórych funkcjach obiektu HTMLElement. Teraz możemy się już odpowiednio skoncentrować na nim samym. W niniejszym rozdziale przedstawię Ci poszczególne właściwości i metody HTMLElement oraz pokażę, jak ich używać. W tabeli 28.1 znajduje się streszczenie rozdziału. Miej w pamięci, że nie wszystkie popularne przeglądarki będą obsługiwać podane tutaj przykłady.

Tabela 28.1. Streszczenie rozdziału

Problem

Rozwizanie

Listing

Pobranie informacji o elemencie.

Użyj właściwości metadanych

28.1

HTMLElement.

Pobranie lub zdefiniowanie pojedynczego

Użyj właściwości className.

28.2

ciągu znaków, zawierającego wszystkie

klasy, do których element jest przypisany.

Sprawdzenie lub zmodyfikowanie

Użyj właściwości classList.

28.3

poszczególnych klas elementów.

Pobranie lub zdefiniowanie atrybutów

Użyj metod attribute, getAttribute,

28.4, 28.6

elementu.

setAttribute, removeAttribute

i hasAttribute.

Pobranie lub zdefiniowanie

Użyj właściwości dataset.

28.5

niestandardowych atrybutów elementu.

Praca z zawartością tekstową elementu.

Użyj obiektów Text.

28.7 – 28.9

Tworzenie i usuwanie elementów.

Użyj metod document.create*

28.10

i HTMLElement służących do zarządzania

elementami-dziećmi.

Powielenie elementu.

Użyj metody cloneNode.

28.11

Przeniesienie elementu.

Użyj metody appendChild.

28.12

Sprawdzenie identyczności dwóch obiektów.

Użyj metody isSameNode.

28.13

Sprawdzenie równości dwóch obiektów.

Użyj metody isEqualNode.

28.14

Bezpośrednia praca nad fragmentami

Użyj właściwości innerHTML i outerHTML

28.15 – 28.17

HTML.

oraz metody insertAdjacentHTML.

Wstawienie elementu do bloku tekstu.

Użyj metod splitText i appendChild.

28.18

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Praca z obiektami elementów

Obiekty HTMLElement obsługują szereg właściwości, których można używać do odczytywania i modyfikowania danych reprezentowanego elementu. W tabeli 28.2 znajduje się opis tych właściwości.

Tabela 28.2. Właściwości danych elementów

Waciwo

Opis

Zwracana warto

checked

Sprawdza lub definiuje obecność atrybutu checked.

warto_boolowska

classList

Pobiera lub definiuje listę klas, do których element przynależy.

DOMTokenList

className

Pobiera lub definiuje listę klas, do których element przynależy.

tekst

dir

Pobiera lub definiuje wartość atrybutu dir.

tekst

disabled

Sprawdza lub definiuje obecność atrybutu disabled.

warto_boolowska

hidden

Sprawdza lub definiuje obecność atrybutu hidden.

warto_boolowska

id

Pobiera lub definiuje wartość atrybutu id.

tekst

lang

Pobiera lub definiuje wartość atrybutu lang.

tekst

spellcheck

Sprawdza lub definiuje obecność atrybutu spellcheck.

warto_boolowska

tabIndex

Pobiera lub definiuje wartość atrybutu tabindex.

liczba

tagName

Zwraca nazwę znacznika (wskazując tym samym rodzaj elementu).

tekst

title

Pobiera lub definiuje wartość atrybutu title.

tekst

W listingu 28.1 widać przykład zastosowania niektórych z podstawowych właściwości, które podano w liście.

Listing 28.1. Zastosowanie podstawowych właściwości danych elementów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {border: medium double black;}

</style>

</head>

<body>

<p id="textblock" dir="ltr" lang="pl"> Istnieje wiele rónych rodzajów owoców — sam <span id="banana">banan</span> ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany <span id="apple">jabek</span>,

<span id="orange">pomaraczy</span> i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<pre id="results"></pre>

<script>

var results = document.getElementById("results");

var elem = document.getElementById("textblock");

results.innerHTML += "tag: " + elem.tagName + "\n"; 592

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

results.innerHTML += "id: " + elem.id + "\n"; results.innerHTML += "dir: " + elem.dir + "\n"; results.innerHTML += "lang: " + elem.lang + "\n"; results.innerHTML += "hidden: " + elem.hidden + "\n"; results.innerHTML += "disabled: " + elem.disabled + "\n";

</script>

</body>

</html>

Rezultat zastosowania tych właściwości widać na rysunku 28.1.

Rysunek 28.1. Pobranie informacji o elemencie

Praca z klasami

Praca z klasami, do których przypisany jest element, może się odbywać na dwa sposoby. Pierwszy z nich opiera się na wykorzystaniu właściwości className, która zwraca listę klas. Klasy można dodawać i usuwać poprzez zmianę wartości ciągu znaków. Przykład odczytania i zmiany klas tym sposobem widać w listingu 28.2.

Listing 28.2. Zastosowanie właściwości className

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {

border: medium double black;

}

p.newclass {

background-color: grey;

color: white;

}

</style>

</head>

<body>

<p id="textblock" class="fruit numbers">

593

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<button id="pressme">Nacinij mnie</button>

<script>

document.getElementById("pressme").onclick = function(e) {

document.getElementById("textblock").className += " newclass";

};

</script>

</body>

</html>

„ Wskazówka Klasy s standardowo uywane do przypisywania elementom stylów. O pracy ze stylami w DOM

przeczytasz w rozdziale 29.

W powyższym przykładzie naciśnięcie przycisku przywołuje skrypt, który dodaje nową klasę do listy elementu. Zauważ, że musiałem umieścić spację przed każdą wartością dodaną do właściwości className, ponieważ przeglądarka spodziewa się listy oddzielonych od siebie spacjami klas. Po wprowadzeniu takiej zmiany przeglądarka nadaje style zgodnie z selektorami klasowymi, wobec czego dokument widocznie zmienia wygląd, tak jak widać to na rysunku 28.2.

Rysunek 28.2. Zastosowanie właściwości className

Właściwość className jest łatwa w użyciu, kiedy chcesz szybko przypisać element do nowych klas.

O wiele trudniej jednak używać jej do jakichkolwiek innych celów, np. do usunięcia klasy. Na szczęście, możesz też użyć właściwości classList, która zwraca obiekt DOMTokenList. Obiekt ten obsługuje kilka użytecznych metod i właściwości, które pozwalają na zarządzanie listą klas; opisuję je w tabeli 28.3.

Tabela 28.3. Właściwości i metody DOMTokenList

Skadowa

Opis

Zwracana warto

add(<class>)

Dodaje wskazaną klasę do elementu.

void

contains(<class>)

Zwraca wartość true, jeśli element należy do podanej klasy.

warto_boolowska

length

Zwraca liczbę klas, do których element przynależy.

liczba

remove(<class>)

Usuwa podaną klasę z elementu.

void

toggle(<class>)

Dodaje klasę, jeśli nie jest obecna, a usuwa, jeśli jest obecna.

warto_boolowska

594

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Abstrahując od tych właściwości i metod, masz również możliwość pobierania klas według numeru indeksowego, z wykorzystaniem notacji tablicowej. Przykład wykorzystania obiektu DOMTokenList widać w listingu 28.3.

Listing 28.3. Zastosowanie właściwości classList

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {

border: medium double black;

}

p.newclass {

background-color: grey;

color: white;

}

</style>

</head>

<body>

<p id="textblock" class="fruit numbers">

Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<pre id="results"></pre>

<button id="toggle">Przecz klas</button>

<script>

var results = document.getElementById("results");

document.getElementById("toggle").onclick = toggleClass;

listClasses();

function listClasses() {

var classlist = document.getElementById("textblock").classList; results.innerHTML = "Klasy elementu: "

for (var i = 0; i < classlist.length; i++) {

results.innerHTML += classlist[i] + " ";

}

}

function toggleClass() {

document.getElementById("textblock").classList.toggle("newclass"); listClasses();

}

</script>

</body>

</html>

W tym przykładzie funkcja listClasses wykorzystuje właściwość classList do pobrania i wyliczenia klas, do których przynależy element p, wykorzystując przy zwracaniu nazw klas indeksator tablicowy.

Przywoływana po naciśnięciu przycisku funkcja toggleClass używa metody toggle do dodawania i usuwania klasy newclass. Jako że z tą klasą powiązany jest styl, efekt jej zmiany jest widoczny na rysunku 28.3.

595

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Rysunek 28.3. Wyliczenie i przełączenie klasy

Praca z atrybutami elementu

Istnieją właściwości obsługujące niektóre z najważniejszych atrybutów globalnych, ale możliwy jest także odczyt i definiowanie poszczególnych atrybutów elementu. W tabeli 28.4 znajduje się opis służących do tego metod i właściwości obsługiwanych przez obiekt HTMLElement.

Tabela 28.4. Właściwości i metody odnoszące się do atrybutów

Skadowa

Opis

Zwracana warto

attributes

Zwraca nadane elementowi atrybuty.

Attr[]

dataset

Zwraca atrybuty data-*.

tekst[ <nazwa> ]

getAttribute( <nazwa> )

Zwraca wartość podanego atrybutu.

tekst

hasAttribute( <nazwa> )

Zwraca wartość true, jeśli elementowi

warto_boolowska

przypisany jest podany atrybut.

removeAttribute( <nazwa> )

Usuwa podany atrybut elementu.

void

setAttribute( <nazwa> , <warto> )

Nadaje atrybut o podanej nazwie i wartości.

void

Istnieją cztery proste w użyciu i przewidywalne w działaniu metody, które służą do pracy z atrybutami.

W listingu 28.4 widnieje przykład ich zastosowania.

Listing 28.4. Zastosowanie metod atrybutów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {border: medium double black;}

</style>

</head>

<body>

<p id="textblock" class="fruit numbers">

There are lots of different kinds of fruit - there are over 500 varieties

of banana alone. By the time we add the countless types of apples, oranges, and other well-known fruit, we are faced with thousands of choices.

596

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

</p>

<pre id="results"></pre>

<script>

var results = document.getElementById("results");

var elem = document.getElementById("textblock");

results.innerHTML = "Atrybut lang elementu to: "

+ elem.hasAttribute("lang") + "\n";

results.innerHTML += "Dodawanie atrybutu lang\n";

elem.setAttribute("lang", "en-US");

results.innerHTML += "Warto atrybutu to : " + elem.getAttribute("lang")

+"\n";

results.innerHTML += "Okrel now warto atrybutu lang\n";

elem.setAttribute("lang", "en-UK");

results.innerHTML += "Obecna warto to: " + elem.getAttribute("lang") + "\n";

</script>

</body>

</html>

W tym przykładzie sprawdziłem, dodałem i zmieniłem wartości atrybutu lang. Rezultat zastosowania tego skryptu widać na rysunku 28.4.

Rysunek 28.4. Zastosowanie metod atrybutów

Praca z atrybutami data-*

W rozdziale 3. wspomniałem, że HTML5 obsługuje niestandardowe atrybuty, wykorzystując do tego prefiks data-. Oznacza to, że możesz stworzyć atrybut w rodzaju data-mójnowyatrybut. Z niestandardowymi atrybutami w DOM można pracować z wykorzystaniem właściwości dataset, która zwraca tablicę wartości indeksowanych według nazwy owej niestandardowej właściwości. W listingu 28.5 widnieje przykład.

Listing 28.5. Zastosowanie właściwości dataset

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {border: medium double black;}

</style>

</head>

<body>

597

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

<p id="textblock" class="fruit numbers" data-owoc="jabko"

data-stosunek="pozytywny" >

Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<pre id="results"></pre>

<script>

var results = document.getElementById("results");

var elem = document.getElementById("textblock");

for (var attr in elem.dataset) {

results.innerHTML += attr + "\n";

}

results.innerHTML += "Warto atrybutu data-owoc: " + elem.dataset["owoc"];

</script>

</body>

</html>

Tablica wartości zwróconych przez właściwość dataset nie jest indeksowana według pozycji, tak jak ma to miejsce w przypadku standardowych tablic. Do wyliczania atrybutów data-* należy użyć deklaracji for...in, tak jak w listingu. Możesz też przywołać wartość według jej nazwy. Zauważ, że należy tu podać jedynie tę część nazwy atrybutu, która znajduje się po członie data-*. Jeśli więc chcesz sprawdzić wartość atrybutu data-owoc, to powinieneś przywołać wartość dataset["owoc"]. Rezultat zastosowania tego skryptu widać na rysunku 28.5.

Rysunek 28.5. Zastosowanie właściwości dataset

Praca ze wszystkimi atrybutami

Zbiór wszystkich atrybutów elementu możesz pozyskać przy użyciu właściwości attributes, która zwraca tablicę obiektów Attr. Właściwości obiektu Attr opisane są w tabeli 28.5.

Tabela 28.5. Właściwości obiektu Attr

Waciwoci

Opis

Zwracana warto

name

Zwraca nazwę atrybutu.

tekst

value

Zwraca lub definiuje wartość atrybutu.

tekst

W listingu 28.6 widnieje przykład zastosowania właściwości attributes i obiektu Attr do odczytania i zmodyfikowania atrybutów elementu.

598

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Listing 28.6. Praca z właściwością attributes

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {border: medium double black;}

</style>

</head>

<body>

<p id="textblock" class="fruit numbers" data-owoc="jabko"

data-stosunek="pozytywny">

Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<pre id="results"></pre>

<script>

var results = document.getElementById("results");

var elem = document.getElementById("textblock");

var attrs = elem.attributes;

for (var i = 0; i < attrs.length; i++) {

results.innerHTML += "Nazwa: " + attrs[i].name + " Warto: "

+ attrs[i].value + "\n";

}

attrs["data-owoc"].value = "banan";

results.innerHTML += "Warto atrybutu data-owoc: "

+ attrs["data-owoc"].value;

</script>

</body>

</html>

Jak widać w listingu, atrybuty w tablicy obiektów Attr indeksowane są według pozycji i nazwy. W tym przykładzie wyliczyłem nazwy i wartości przypisanych elementowi atrybutów, a następnie zmieniłem wartość jednego z nich. Rezultat zastosowania tego skryptu widać na rysunku 28.6.

Rysunek 28.6. Zastosowanie właściwości attributes

599

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Praca z tekstem

Zawartość tekstową elementu reprezentuje obiekt Text, który w modelu dokumentu występuje jako dziecko owego elementu. W listingu 28.7 widnieje element z treścią tekstową.

Listing 28.7. Element z treścią tekstową

...

<p id="textblock" class="fruit numbers" data-fruit="apple" data-sentiment="like"> Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

...

Reprezentowany w modelu dokumentu element p przybiera postać obiektu HTMLElement, a jego treść reprezentowana jest przez obiekt Text, tak jak widać na rysunku 28.7.

Rysunek 28.7. Relacja pomiędzy obiektami reprezentującymi element i jego treść Wszystkie zawierające tekst dzieci elementu obsługiwane są w ten sam sposób. W listingu 28.8

zamieściłem w akapicie dodatkowy element.

Listing 28.8. Dodanie elementu do akapitu

...

<p id="textblock" class="fruit numbers" data-fruit="apple" data-sentiment="like"> Istnieje wiele rónych rodzajów owoców — sam ma ponad <b>piset</b> odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona

wyboru sporód tysicy moliwoci.

</p>

...

Wprowadzenie elementu b zmienia hierarchię węzłów tak, by przedstawiony w niej był element p i jego zawartość, tak jak widać to na rysunku 28.8.

Rysunek 28.8. Rezultat dodania elementu do akapitu

Pierwsze dziecko elementu p jest obiektem Text, który reprezentuje tekst od początku bloku do elementu b. Element b ma własne dziecko, jakim jest obiekt Text, który reprezentuje treść zawartą pomiędzy jego otwierającym a zamykającym znacznikiem. Wreszcie, ostatnie dziecko elementu p jest obiektem Text, reprezentującym tekst znajdujący się po elemencie b — do końca bloku. W tabeli 28.6 znajduje się opis składowych obsługiwanych przez obiekt Text.

Niestety, nie ma żadnego wygodnego sposobu na znajdowanie elementów Text, poza wyszukiwaniem obiektów elementów-rodziców i przechodzeniem przez ich dzieci. Praca z elementami Text jest wobec tego trudniejsza, niż powinna. W listingu 28.9 widnieją niektóre z metod i właściwości elementu Text.

Po naciśnięciu elementu button wyświetlana jest liczba znaków w pierwszym dziecku Text elementu p, a jego zawartość zostaje zmieniona metodą replaceWholeText.

600

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Tabela 28.6. Składowe obiektu Text

Skadowa

Opis

Zwraca

appendData( <tekst> )

Dodaje określony ciąg znaków na końcu bloku tekstowego.

void

data

Zwraca lub definiuje tekst.

tekst

deleteData( <pozycja> ,

Usuwa tekst z ciągu znaków. Pierwsza liczba określa pozycję,

void

<liczba znaków> )

a druga liczbę znaków do usunięcia.

insertData( <pozycja> ,

Zamieszcza podany ciąg znaków na określonej pozycji.

void

<tekst> )

length

Zwraca liczbę znaków.

liczb

replaceData( <pozycja> ,

Zamienia wskazany zakres tekstu na określony ciąg znaków.

void

<liczba znaków> , <tekst> )

replaceWholeText( <tekst> )

Zamienia cały tekst.

Text

splitText( <liczba> )

Dzieli element Text na dwa osobne elementy we wskazanym

Text

miejscu. W punkcie „Wstawienie elementu do bloku tekstu”

znajdziesz przykład zastosowania tej metody.

substringData( <pozycja> ,

Zwraca ciąg znaków z tekstu.

tekst

<liczba znaków> )

wholeText

Zwraca tekst.

tekst

Listing 28.9. Praca z obiektami Text

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

p {border: medium double black;}

</style>

</head>

<body>

<p id="textblock" class="fruit numbers" data-fruit="apple" data-sentiment="like"> Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<button id="pressme">Nacinij mnie</button>

<pre id="results"></pre>

<script>

var results = document.getElementById("results");

var elem = document.getElementById("textblock");

document.getElementById("pressme").onclick = function() {

var textElem = elem.firstChild;

results.innerHTML = "Element zawiera " + textElem.length + " znaków\n"; textElem.replaceWholeText("Oto nowy cig znaków");

};

</script>

</body>

</html>

601

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

„ Ostrzeenie Trzeba koniecznie zwróci uwag, e przy pracy z tekstem biae znaki nie s kondensowane. Oznacza to, e wszelkie spacje i inne biae znaki suce do ustrukturyzowania kodu HTML s traktowane jako cz tekstu.

Modyfikacja modelu

W poprzednich punktach pokazałem Ci, jak używać DOM do modyfikowania pojedynczych elementów.

Przy użyciu DOM możesz — na przykład — zmieniać atrybuty i treść tekstową. Jest to możliwe, ponieważ DOM jest aktywnie połączony z dokumentem. Wprowadzenie zmiany w DOM sprawia, że przeglądarka wprowadza odpowiednią zmianę w dokumencie. Dzięki temu połączeniu można nawet zmienić strukturę dokumentu. Można dodawać, usuwać, powielać i kopiować elementy w dowolny sposób. W tym celu wystarczy zmienić hierarchię DOM, a jako że wspomniane połączenie działa na bieżąco, zmiany hierarchii natychmiast stają się widoczne w przeglądarce. W tabeli 28.7 znajduje się opis właściwości i metod służących do zmiany hierarchii DOM.

Tabela 28.7. Składowe służące do manipulacji strukturą DOM

Skadnik

Opis

Zwracana warto

appendChild( HTMLElement)

Dodaje podanemu elementowi dziecko

HTMLElement

określonego typu.

cloneNode( boolean)

Kopiuje element.

HTMLElement

compareDocumentPosition( HTMLElement)

Określa względne położenie elementu.

liczba

innerHTML

Zwraca lub definiuje treść elementu.

tekst

insertAdjacentHTML( <pooenie> ,

Zamieszcza kod HTML w miejscu

void

<tre> )

określonym względem elementu.

insertBefore( <nowyelement> ,

Zamieszcza podany element przed

HTMLElement

<element> )

określonym elementem-dzieckiem.

isEqualNode( <HTMLElement> )

Określa, czy podany element jest

warto_boolowska

równy bieżącemu elementowi.

isSameNode( HTMLElement)

Określa, czy podany element jest

warto_boolowska

tożsamy z bieżącym elementem.

outerHTML

Zwraca lub definiuje kod HTML

tekst

i zawartość elementu.

removeChild( HTMLElement)

Usuwa określone dziecko bieżącego

HTMLElement

elementu.

replaceChild( HTMLElement,

Zastępuje dziecko bieżącego elementu.

HTMLElement

HTMLElement)

Przedstawione tutaj właściwości i metody obsługiwane są przez wszystkie obiekty elementów. Ponadto, obiekt document obsługuje dwie metody służące do tworzenia nowych elementów. Funkcja ta jest nieodzowna, kiedy chce się dodać treść do dokumentu. Opis tych metod znajduje się w tabeli 28.8.

Tabela 28.8. Składowe służące do manipulacji strukturą DOM

Skadowa

Opis

Zwraca

createElement( <znacznik> )

Tworzy nowy obiekt HTMLElement określonego typu.

HTMLElement

createTextNode( <tre> )

Tworzy nowy obiekt Text o podanej treści.

Text

602

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Tworzenie i usuwanie elementów

Nowe elementy tworzy się przy użyciu obiektu document, a następnie wprowadza je poprzez odnalezienie istniejącego HTMLElement i wykorzystanie jednej z opisanych powyżej metod. W listingu 28.10 znajduje się przykład zastosowania tej funkcji.

Listing 28.10. Tworzenie i usuwanie elementów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

margin: 10px;

}

td { padding: 4px 5px; }

</style>

</head>

<body>

<table border="1">

<thead><th>Nazwa</th><th>Kolor</th></thead>

<tbody id="fruitsBody">

<tr><td>Banan</td><td>óty</td></tr>

<tr><td>Jabko</td><td>Czerwony/Zielony</td></tr>

</tbody>

</table>

<button id="add">Dodaj element</button>

<button id="remove">Usu element</button>

<script>

var tableBody = document.getElementById("fruitsBody");

document.getElementById("add").onclick = function() {

var row = tableBody.appendChild(document.createElement("tr")); row.setAttribute("id", "newrow");

row.appendChild(document.createElement("td"))

.appendChild(document.createTextNode(" liwka")); row.appendChild(document.createElement("td"))

.appendChild(document.createTextNode("Fioletowy"));

};

document.getElementById("remove").onclick = function() {

var row = document.getElementById("newrow");

row.parentNode.removeChild(row);

}

</script>

</body>

</html>

Podany w tym przykładzie skrypt wykorzystuje DOM przy dodawaniu i usuwaniu rzędów w elemencie table (o którym pisałem w rozdziale 11.). Dodawanie rzędu zaczynam od utworzenia elementu tr, którego 603

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

następnie używam jako rodzica obiektów td i Text. Zauważ, że wykorzystałem rezultaty metody do utworzenia łańcucha przywołań i odrobinę uprościłem kod.

Jak widzisz, tworzenie elementów jest pracochłonne. Trzeba utworzyć element, powiązać go z rodzicem, a następnie powtórzyć proces przy każdym elemencie-dziecku bądź obiekcie Text. Usuwanie elementów również jest mało poręczne. W tym celu trzeba znaleźć element, przejść do elementu-rodzica, a następnie użyć metody removeChild. Rezultat zastosowania tego skryptu widać na rysunku 28.9.

Rysunek 28.9. Wykorzystanie DOM do tworzenia i usuwania elementów Powielanie elementów

Metoda cloneNode służy do powielania istniejących elementów. Jest ona wygodna o tyle, że pozwala na uniknięcie tworzenia elementów od podstaw. W listingu 28.11 znajduje się przykład zastosowania tej techniki.

Listing 28.11. Powielanie elementów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

margin: 10px;

}

td { padding: 4px 5px; }

</style>

</head>

<body>

<table border="1">

<thead><tr><th>Pomnó</th><th>Wynik</th></tr></thead>

<tbody id="fruitsBody">

<tr><td class="sum">1 x 1</td><td class="result">1</td></tr>

</tbody>

604

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

</table>

<button id="add">Dodaj rzd</button>

<script>

var tableBody = document.getElementById("fruitsBody");

document.getElementById("add").onclick = function() {

var count = tableBody.getElementsByTagName("tr").length + 1;

var newElem = tableBody.getElementsByTagName("tr")[0].cloneNode(true); newElem.getElementsByClassName("sum")[0].firstChild.data = count

+ " + " + count;

newElem.getElementsByClassName("result")[0].firstChild.data =

count * count;

tableBody.appendChild(newElem);

};

</script>

</body>

</html>

W tym przykładzie powieliłem znajdujący się w tabeli rząd. Boolowski argument metody cloneNode określa, czy elementy-dzieci również mają być powielone. W tym przypadku podałem wartość true, ponieważ chciałem, by elementy td zawarte w elemencie tr utworzyły strukturę nowego rzędu.

„ Wskazówka Zauwa, jak niezrcznie wyglda okrelanie tekstu komórek tabeli w tym przykadzie. Praca z obiektami Text jest naprawd mczca. Z prostszym podejciem zapoznasz si w punkcie „Praca z fragmentami HTML”

w dalszej czci tego rozdziau.

Przenoszenie elementów

Przenoszenie elementów z jednej części dokumentu do drugiej polega zwyczajnie na powiązaniu elementu z jego nowym rodzicem. Nie musisz przenosić elementu z jego pozycji wyjściowej. W listingu 28.12 widnieje przykład przeniesienia rzędu z jednej tabeli do drugiej.

Listing 28.12. Przenoszenie elementów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

margin: 10px;

float: left;

}

td { padding: 4px 5px; }

p { clear:left; }

</style>

</head>

605

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody>

<tr><td>Banan</td><td>óty</td></tr>

<tr id="apple"><td>Jabko</td><td>Czerwony/Zielony</td></tr>

</tbody>

</table>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody id="fruitsBody">

<tr><td> liwka</td><td>Fioletowy</td></tr>

</tbody>

</table>

<p>

<button id="move">Przenie rzd</button>

</p>

<script>

document.getElementById("move").onclick = function() {

var elem = document.getElementById("apple");

document.getElementById("fruitsBody").appendChild(elem);

};

</script>

</body>

</html>

Po naciśnięciu przycisku skrypt przenosi element tr z atrybutem id o wartości apple i używa metody appendChild na elemencie tbody o atrybucie id o wartości fruitsBody. Rezultatem jest przeniesienie rzędu z jednej tabeli do innej, co widać na rysunku 28.10.

Rysunek 28.10. Przeniesienie elementu z jednej części dokumentu do innej Porównywanie obiektów elementów

Obiekty elementów można porównywać na dwa sposoby. Po pierwsze, wystarczy sprawdzić, czy reprezentują ten sam element, co robi się przy użyciu metody isSameNode. Pozwala to na porównanie obiektów, które zostały pozyskane w różnych kwerendach, tak jak widać to w listingu 28.13.

606

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Listing 28.13. Porównanie obiektów elementów

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

}

td { padding: 4px 5px; }

</style>

</head>

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody id="fruitsBody">

<tr id="plumrow"><td> liwka</td><td>Fioletowy</td></tr>

</tbody>

</table>

<pre id="results"></pre>

<script>

var elemByID = document.getElementById("plumrow");

var elemByPos

= document.getElementById("fruitsBody").getElementsByTagName("tr")[0]; if (elemByID.isSameNode(elemByPos)) {

document.getElementById("results").innerHTML = "Obiekty s tosame";

}

</script>

</body>

</html>

Podany w tym przykładzie skrypt znajduje obiekty elementów na dwa różne sposoby: szukając konkretnego id oraz przeszukując element-rodzica według rodzaju znacznika. Metoda isSameNode zwraca wartość true przy porównywaniu tych obiektów, ponieważ reprezentują ten sam element.

Zamiast tego można też sprawdzić, czy obiekty są sobie równe, co robi się metodą isEqualNode. Elementy są równe, kiedy są jednakowego typu, mają te same wartości atrybutów, a także wszystkie ich dzieci są równe i występują w tej samej kolejności. W listingu 28.14 znajduje się przykład pary równych elementów.

Listing 28.14. Praca z równymi elementami

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

607

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

margin: 2px 0px;

}

td { padding: 4px 5px; }

</style>

</head>

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody>

<tr class="plumrow"><td> liwka</td><td>Fioletowy</td></tr>

</tbody>

</table>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody>

<tr class="plumrow"><td> liwka</td><td>Fioletowy</td></tr>

</tbody>

</table>

<pre id="results"></pre>

<script>

var elems = document.getElementsByClassName("plumrow"); if (elems[0].isEqualNode(elems[1])) {

document.getElementById("results").innerHTML = "Elementy s równe";

} else {

document.getElementById("results").innerHTML = "Elementy NIE S równe";

}

</script>

</body>

</html>

W tym przykładzie obydwa elementy tr są równe, pomimo że są osobnymi elementami w różnych częściach dokumentu. Gdybym zmienił którykolwiek z atrybutów lub treść elementu-dziecka td, elementy nie byłyby już równe.

Praca z fragmentami HTML

Właściwości innerHTML i outerHTML wraz z metodą insertAdjacentHTML są wygodnymi skrótami składniowymi, które pozwalają na pracę z fragmentami kodu HTML. Dzięki temu można uniknąć tworzenia rozbudowanych hierarchii składających się z obiektów elementów i obiektów tekstowych.

W listingu 28.15 widnieje przykład zastosowania właściwości innerHTML i outerHTML do pobierania kodu HTML z elementów.

Listing 28.15. Zastosowanie właściwości innerHTML i outerHTML

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

608

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

border-collapse: collapse;

margin: 5px 2px;

float: left;

}

td { padding: 4px 5px; }

p {clear: left};

</style>

</head>

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody>

<tr id="applerow"><td> liwka</td><td>Fioletowy</td></tr>

</tbody>

</table>

<textarea rows="3" id="results"></textarea>

<p>

<button id="inner">Wewntrzny HTML</button>

<button id="outer">Zewntrzny HTML</button>

</p>

<script>

var results = document.getElementById("results");

var row = document.getElementById("applerow");

document.getElementById("inner").onclick = function() {

results.innerHTML = row.innerHTML;

};

document.getElementById("outer").onclick = function() {

results.innerHTML = row.outerHTML;

}

</script>

</body>

</html>

Właściwość outerHTML zwraca ciąg znaków, w którym znajduje się definiujący element kod HTML oraz kod wszystkich jego dzieci. Właściwość innerHTML zwraca kod HTML samych dzieci. W tym przykładzie utworzyłem dwa przyciski, które służą do wyświetlania „wewnętrznego” i „zewnętrznego” kodu HTML

rzędu tabeli. Treść wyświetlana jest w elemencie textarea, tak by przeglądarka traktowała zwracane przez te właściwości ciągi znaków jako tekst, a nie kod HTML dokumentu. Rezultat zastosowania skryptu widać na rysunku 28.11.

Rysunek 28.11. Wyświetlanie właściwości outerHTML rzędu tabeli

609

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Zmiana struktury dokumentu

Właściwości outerHTML i innerHTML używa się także do zmiany struktury dokumentu. Właściwości innerHTML

użyłem w wielu przykładach przedstawionych w tej części książki. Jest to wygodny sposób ustawiania zawartości elementów, ponieważ umożliwia podawanie treści tekstowej bez konieczności tworzenia elementów Text. W listingu 28.16 widnieje przykład zastosowania tych właściwości w ramach modyfikowania modelu dokumentu.

Listing 28.16. Modyfikacja modelu dokumentu

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<style>

table {

border: solid thin black;

border-collapse: collapse;

margin: 10px;

float: left;

}

td { padding: 4px 5px; }

p { clear: left; }

</style>

</head>

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody>

<tr><td>Banan</td><td>óty</td></tr>

<tr id="apple"><td>Jabko</td><td>Czerwony/Zielony</td></tr>

</tbody>

</table>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody id="fruitsBody">

<tr><td> liwka</td><td>Fioletowy</td></tr>

<tr id="targetrow"><td colspan="2">To jest element zastpczy</td></tr>

</tbody>

</table>

<p>

<button id="move">Przenie rzd</button>

</p>

<script>

document.getElementById("move").onclick = function() {

var source = document.getElementById("apple");

var target = document.getElementById("targetrow");

target.innerHTML = source.innerHTML;

source.outerHTML = '<tr id="targetrow"><td colspan="2">' +

'To jest element zastpczy</td>';

};

</script>

</body>

</html>

610

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

W tym przykładzie użyłem właściwości innerHTML do zdefiniowania elementów-dzieci rzędu tabeli oraz outerHTML do zastąpienia elementu w wierszu. Właściwości te działają, opierając się na ciągach znaków, co oznacza, że fragmenty HTML pozyskuje się przez odczytanie wartości właściwości lub tworzenie ciągów znakowych od podstaw, tak jak widać to w listingu. Rezultat widać na rysunku 28.12.

Rysunek 28.12. Zastosowanie właściwości innerHTML i outerHTML

Wstawianie fragmentów HTML

Właściwości innerHTML i outerHTML przydają się przy zastępowaniu istniejących elementów, ale jeśli chcesz użyć fragmentu HTML do wprowadzenia nowych elementów, to musisz skorzystać z metody insertAdjacentHTML. Metoda ta używa dwóch argumentów — pierwszy to wartość z tabeli 28.9, która wskazuje, gdzie fragment powinien być wstawiony względem bieżącego dokumentu, a drugi to właśnie fragment, który ma być wstawiony.

Tabela 28.9. Wartości położenia metody insertAdjacentHTML

Warto

Opis

afterbegin

Wstawia fragment jako pierwsze dziecko bieżącego elementu.

afterend

Wstawia fragment bezpośrednio po bieżącym elemencie.

beforebegin

Wstawia fragment bezpośrednio przed bieżącym elementem.

beforeend

Wstawia fragment jako ostatnie dziecko bieżącego elementu.

W listingu 28.17 widnieje przykład wykorzystania metody insertAdjacentHTML przy wstawianiu fragmentów kodu HTML do rzędu tabeli i dookoła niego.

Listing 28.17. Zastosowanie metody insertAdjacentHTML

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

</head>

<body>

<table border="1">

<thead><tr><th>Owoc</th><th>Kolor</th></tr></thead>

<tbody id="fruitsBody">

<tr id="targetrow"><td>To jest element zastpczy</td></tr>

</tbody>

611

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

</table>

<p>

<button id="ab">After Begin</button>

<button id="ae">After End</button>

<button id="bb">Before Begin</button>

<button id="be">Before End</button>

</p>

<script>

var target = document.getElementById("targetrow");

var buttons = document.getElementsByTagName("button");

for (var i = 0; i < buttons.length; i++) {

buttons[i].onclick = handleButtonPress;

}

function handleButtonPress(e) {

if (e.target.id == "ab") {

target.insertAdjacentHTML("afterbegin", "<td>After Begin</td>");

} else if (e.target.id == "be") {

target.insertAdjacentHTML("beforeend", "<td>Before End</td>");

} else if (e.target.id == "bb") {

target.insertAdjacentHTML("beforebegin",

"<tr><td colspan='2'>Before Begin</td></tr>");

} else {

target.insertAdjacentHTML("afterend",

"<tr><td colspan='2'>After End</td></tr>");

}

}

</script>

</body>

</html>

W tym przykładzie użyłem różnych wartości położenia, by zaprezentować zamieszczanie fragmentów HTML w różnych miejscach. Najlepiej poeksperymentować z nimi w przeglądarce, aczkolwiek ogólny efekt widać na rysunku 28.13.

Rysunek 28.13. Wstawianie fragmentów HTML do dokumentu

Wstawienie elementu do bloku tekstu

Istotną wariacją modyfikacji modelu jest możliwość dodania elementu do bloku tekstu reprezentowanego obiektem Text. W listingu 28.18 widnieje tego przykład.

612

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

Listing 28.18. Wstawienie elementu do bloku tekstu

<!DOCTYPE HTML>

<html>

<head>

<title>Przykad</title>

<meta name="author" content="Adam Freeman"/>

<meta name="description" content="Prosty przykad"/>

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

</head>

<body>

<p id="textblock">

Istnieje wiele rónych rodzajów owoców — sam ma ponad piset odmian. Gdybymy uwzgldnili niezliczone odmiany jabek, pomaraczy i innych owoców, musielibymy dokona wyboru sporód tysicy moliwoci.

</p>

<p>

<button id="insert">Wstaw element</button>

</p>

<script>

document.getElementById("insert").onclick = function() {

var textBlock = document.getElementById("textblock"); textBlock.firstChild.splitText(10);

var newText = textBlock.childNodes[1].splitText(8).previousSibling; textBlock.insertBefore(document.createElement("b"),

newText).appendChild(newText);

}

</script>

</body>

</html>

W tym przykładzie wykonałem niebanalne zadanie, jakim jest przeniesienie wyrazu z istniejącego bloku tekstowego i zrobienie z niego dziecka nowego elementu b. Podobnie jak w poprzednich przykładach, praca z modelem wiąże się z tworzeniem dość rozbudowanego kodu. Rezultat widać na rysunku 28.14.

Rysunek 28.14. Zamieszczenie elementu w bloku tekstu

Podsumowanie

W tym rozdziale przedstawiłem funkcje obiektów HTMLElement i Text, które — kolejno — reprezentują elementy i treść w dokumentach HTML. Dowiedziałeś się, jak pobierać informacje o elementach z obiektów, jak pracować z treścią tekstową oraz jak wykorzystywać możliwości DOM, by dodawać, modyfikować, 613

Kup książkę

Poleć książkę

ROZDZIA 28. „ PRACA Z ELEMENTAMI DOM

powielać, przenosić i usuwać elementy. Praca z DOM może wymagać tworzenia rozbudowanych skryptów, ale aktywne połączenie między modelem obiektowym a wyglądem dokumentu sprawia, że jest to warte wysiłku.

614

Kup książkę

Poleć książkę

Skorowidz

A

action, 258, 271

allowfullscreen, 334

ActiveState, 36

alt, 305, 330

Adobe Flash, Patrz: Flash

async, 126, 145, 147, 148

adres

autocomplete, 261, 262

e-mailowy, 322

autofocus, 265, 310, 317

IP, 815

autoplay, 740

URL, 131, 134, 154, 169, 179, 322, 326, 328, 329, 389,

autorski, 45

394, 553, 665, 694, 696

boolowski, 44, 46, 53, 180

względny, 130, 328

border, 249, 251

Ajax, 685, 686, 709, 718

charset, 143

akapit, 185, 191

checked, 293

animacja, 489, 493, 496

circle, 330

deklaracja, 496

cite, 169, 179, 189

etap pośredni, 499

class, 50, 176, 186, 188, 358

kierunek powtórzeń, 501

cols, 314

layoutu, 503

colspan, 238, 239

stan końcowy, 502

content, 132

stan początkowy, 498

contenteditable, 52

wielu elementów, 505

contextmenu, 53

właściwość, 353

controls, 740

wstrzymywanie, 507

coords, 329

wznawianie, 507

datetime, 179, 180

z przekształceniem, 511

default, 330

API

defer, 126, 143, 145, 147, 556

REpresentational State Transfer, 698, Patrz: API

dir, 53, 173

REST

dirname, 279, 285

REST, 698

disabled, 266, 284, 285, 310, 317

aplikacja offline, 831, 833

draggable, 53, 799

Apple, 30

dropzone, 53

argument funkcji, Patrz: funkcja argumenty

elementu, 596, 598

arkusz stylu, 61, Patrz też: CSS

enctype, 259, 271

kodowanie znaków, 67

form, 310, 317, 337

zewnętrzny, 65

formaction, 272, 305

atak cross-site scripting, Patrz: XSS

formenctype, 305

atrybut, 44

formmethod, 272, 305

accept, 307

formnovalidate, 305, 323

accesskey, 49

formtarget, 305

Kup książkę

Poleć książkę

„ SKOROWIDZ

atrybut

tabindex, 57

globalny, 44, 49, 62, 186, 243, 359, 596

target, 131, 153, 155, 262, 271, 330, 332, 338

headers, 242, 243

td, 242

height, 305, 326, 327, 332, 334, 735

th, 242

hidden, 53

title, 58, 168, 169

high, 341

type, 135, 143, 144, 153, 194, 256, 270, 271, 272, 273,

href, 44, 130, 131, 151, 153, 154, 327, 330, 665

277, 278, 285, 289, 290, 296, 330, 334

hreflang, 153, 330

usemap, 331, 338

http-equiv, 125, 134

value, 197, 200, 279, 280, 281, 286, 290, 293, 297, 299,

id, 55, 186, 265, 394

319, 340, 341

ismap, 327

width, 305, 326, 327, 332, 334, 735

keytype, 317

wrap, 314

klasy, 71

wszystkie, 598

label, 283, 313

audio, 32, 731, 739

lang, 55, 394

odtwarzanie, 745

list, 279, 281, 290, 297, 299

autouzupełnianie, 261, 262, 282

lokalny, 44, 49, 153

low, 341

B

manifest, 834

max, 290, 299, 318, 319, 320, 340

barwa, Patrz: kolor

maxlength, 278, 279, 286, 297

biblioteka, 144

media, 136, 153, 330, 738

JavaScript, 33, 575

method, 259, 271

Modernizr, Patrz: Modernizr

min, 290, 299, 318, 319, 320

blog, 220

multiple, 307, 310, 311

blok kodu, 90

name, 132, 263, 310, 317, 332, 338

Blueprint, 85, 449

niestandardowy, 597

błąd, 694

novalidate, 323

aplikacji, 697

open, 226

geolokalizacji, 816

optimum, 341, 342

wejściowy, 696

pattern, 279, 286, 297, 318, 321

żądania, 696

placeholder, 279, 280, 281, 286, 297

błędy, 106, 111

poly, 330

bufora offline, 843

poster, 734, 735

bracia, 47

preload, 732, 734

brat, 368

pubdate, 180

bufor offline, 831, 839

readonly, 279, 284, 286, 290, 297, 299

rect, 330

rel, 125, 142, 153, 330

C

required, 279, 286, 290, 293, 297, 299, 307, 310, 318,

319, 320, 321, 387

Cascading Style Sheets, Patrz: CSS

reversed, 195

Chrome, 33, 35, 68, 210, 211, 214, 261, 280, 291, 300, 301,

rows, 314

319, 338, 386, 387, 399, 493, 574, 622, 691, 715, 731,

rowspan, 238, 239, 240

744, 809, 815, 816, 834

sandbox, 333

ciasteczko, Patrz: cookie

scoped, 135

cień, 397, 416, 481, 792

seamless, 333

cookie, 555

shape, 329

CORS, 703, 704

size, 278, 279, 280, 286, 297, 310, 311

cross-document messaging, Patrz: przekazywanie

span, 246, 249

komunikatów między dokumentami

spellcheck, 56

CSS, 31, 41, 45, 47, 48, 61, 67, 116, 134, 345, 616

src, 126, 143, 305, 326, 332, 334, 736, 739

deklaracja, Patrz: styl deklaracja

srcdoc, 332

framework, 84

start, 194, 200

narzędzia, 83

step, 290, 299

selektor, 55

style, 57, 62, 63, 360, 615

typu inline, 47

846

Kup książkę

Poleć książkę

„ SKOROWIDZ

CSS3, 345

E

cytat, 167, 171, 189

czcionka, 482, 484, 485, Patrz też: font

edytor

internetowa, 486

Komodo Edit, Patrz: Komodo Edit

czytnik ekranowy, 242

tekstu, 36

efekty, 792, Patrz też: cień, przezroczystość

D

elastyczny layout polowy, Patrz: flexbox

elastyczny model polowy, Patrz: flexbox

dane, 663, 709

element, 40, 115, 116, 125

elementu, 741

a, 42, 118, 128, 131, 151, 152, 154, 161, 217, 327, 338, 665

JSON, 728

abbr, 118, 152, 168, 169, 667

kodowanie, 259, 260

address, 120, 223, 224, 668

kontaktowe, 224

aktywny, 382

magazynowanie, 823

area, 122, 329, 330, 678

pobieranie, 726

article, 115, 117, 120, 180, 187, 220, 224, 668

poufne, 304

aside, 120, 220, 668

przesyłanie, 710

atrybut, 596, Patrz: atrybut

ukryte, 303

atrybuty wszystkie, 598

wejściowe, 167

audio, 122, 739, 740

weryfikacja, 317, 318, 385

b, 115, 118, 151, 156, 667

wyjściowe, 167

base, 118, 125, 130, 131, 154, 663

wysyłanie, 713, 715

bdi, 152, 174

data, 180, 298

bdo, 152, 173

definicja, 167, 169, 197, 198

blockquote, 120, 189, 191, 667

deklaracja, 89

blokowy, 435, 437

charset, 67

body, 42, 43, 47, 118, 125, 128, 184, 186, 224, 663

for...in, 96

br, 118, 152, 164, 667

if z operatorem negacji, 110

button, 42, 121, 254, 256, 270, 272, 273, 274, 289, 323,

import, 66

341, 444, 687, 714

warunkowa, 100

canvas, 32, 122, 342, 749, 750, 752, 765, 772, 775

długość, 75

caption, 121, 243, 244

DNS, 694

checkbox, 294

Document Object Model, Patrz: DOM

cite, 116, 119, 151, 152, 171, 667

Dojo, 112

code, 40, 42, 119, 128, 146, 152, 167, 188, 202, 667

dokument, 125, 126, 531, 548, 551, 556, 654

col, 245, 247, 248, 249, 668

drzewo, 48

colgroup, 121, 245, 246, 247, 668

HTML, Patrz: HTML dokument

command, 123

nazwa, 129

dane, 592, 741

osadzony, 585

datalist, 121, 281, 282, 283, 671

pobieranie, 723

dd, 120, 197, 198, 668

sekcja, Patrz: sekcja

default, 384

struktura, 610

del, 119, 152, 178, 179, 666

tytuł, 129

details, 120, 224, 226, 668

ustrukturyzowany, 561

dfn, 152, 169, 667

DOM, 263, 529, 531, 541, 547, 602, 643, 663, 740

div, 116, 117, 120, 186, 187, 188, 687

drzewo, 565

dl, 120, 197

implementacja, 557

doctype, 125, 126

nawigacja, 565

DOCTYPE, 42, 46, 118

poziom, 533

domyślny, 384

testowanie, 533

dopełnienie, 346

dopełnienie, 403, 424

dt, 120, 197, 198, 668

dziecko, 47, 48, 346, 366

elastyczny, 460

n-te, 381

em, 119, 151, 157, 667

dziedziczenie, 67, 73

embed, 122, 333, 334, 678

dzielenie wyrazów, 476

fieldset, 122, 267, 268, 269, 671

847

Kup książkę

Poleć książkę

„ SKOROWIDZ

element

obrys, 418

figcaption, 120, 201, 202, 668

odstępy, 445

figure, 115, 120, 200, 202, 668

ogólny, 116

fokusowanie, Patrz: fokusowanie

ol, 117, 120, 193, 200, 667

footer, 120, 211, 668

opis, 117

form, 122, 254, 255, 261, 262, 272, 274, 323, 338, 660,

optgroup, 122, 309, 312, 313, 674

672, 710, 720

option, 122, 282, 283, 310, 311, 313, 675

formularza, 671, 682

osadzające treść w dokumencie, 678

główny, 127, 376

output, 122, 309, 316, 675

grupujący, 43, 191, 667, 668

p, 42, 120, 128, 185, 188, 191, 265, 437

h1, 204, 205

param, 122, 681

h1 – h6, 120, 204, 211, 668

password, 294

head, 42, 46, 47, 118, 125, 127, 128, 130, 142, 665

pole, 423, Patrz: pole elementu

header, 120, 211, 217, 668

porównywanie, 606

hgroup, 116, 121, 205, 208, 668

powielanie, 604

hr, 42, 43, 120, 191

pozycjonowanie, Patrz: pozycjonowanie

html, 42, 43, 46, 118, 125, 127, 665

pre, 120, 188

HTMLCollection, 560

progress, 123, 339, 340, 723

i, 119, 151, 158, 667

przenoszenie, 605

identyfikator, 55

pusty, 42

iframe, 122, 131, 331, 332, 333, 338, 679, 720

q, 119, 152, 169, 189, 666, 667

img, 122, 154, 326, 327, 328, 337, 560, 679, 766, 769

rozmiar, 427, 430

input, 42, 121, 122, 254, 255, 259, 265, 274, 277, 283,

rp, 119, 152, 172, 173, 667

285, 287, 289, 290, 291, 292, 295, 298, 300, 302,

rt, 119, 152, 172, 173, 667

305, 307, 323, 385, 386, 672, 710

ruby, 119, 152, 172, 667

dezaktywacja, 266, 269

run-in, 439

ins, 119, 152, 178, 179, 666

s, 119, 151, 159, 667

interaktywny, 391

samp, 119, 152, 167, 667

kbd, 119, 152, 167, 667

script, 52, 88, 92, 118, 126, 142, 143, 144, 146, 147,

keygen, 122, 309, 316

148, 664

kliknięcie, 639

section, 121, 187, 209, 211, 668

kolejność rysowania, 452

sekcji, 668

krawędź, 399, 424, 447

select, 122, 309, 311, 312, 676

label, 42, 122, 264, 265, 674

semantyczny, 41

legend, 122, 268, 674

sfokusowany, 391

li, 48, 120, 193, 196, 200, 217, 667

skryptowy, 142

liniowo-blokowy, 439

small, 119, 151, 162, 667

liniowy, 437

source, 123, 737

link, 125, 139, 140, 141, 664

span, 116, 119, 152, 176, 187, 383, 437, 491, 667

map, 122, 329, 331, 680

strong, 119, 151, 160, 667

margines, 346

strukturalny, 48

mark, 119, 152, 177, 667

styl, 623, 624

menu, 123, 196

style, 42, 63, 64, 118, 125, 134, 135, 217, 615, 665

meta, 118, 125, 131, 133, 150, 664

sub, 119, 151, 163, 667

meter, 122, 341, 680

summary, 121, 225, 668

nav, 121, 211, 215, 668

sup, 119, 151, 163, 667

nazwany, 560, 561

svg, 123

nieaktywny, 382

tabel, 668, 670, 682

nietabelowy, 435

tabelowy, 435

noscript, 118, 126, 142, 148, 150, 665

table, 42, 121, 229, 231, 235, 236, 241, 243, 244, 249,

obiektu Document, 559

251, 465, 617, 669

object, 122, 333, 334, 337, 338, 680

tbody, 121, 235, 236, 669

obramowanie, 346, 356, 397, 398, 399, 401, 407, 418, 426

td, 42, 121, 229, 232, 238

obrazkowe, 404

tekstowy, 151, 156, 176, 665

specjalne, 404

Text, 600

z zaokrąglonymi rogami, 402

textarea, 42, 56, 122, 278, 309, 313, 677

848

Kup książkę

Poleć książkę

„ SKOROWIDZ

tfoot, 121, 235, 236, 247, 669

displayPosition, 814

th, 42, 121, 232, 234, 238, 243, 669

geolokalizacji, 813

thead, 121, 235, 236, 247, 669

handleButtonPress, 688, 714

time, 119, 152, 180, 666

handleDescendantEvent, 648

title, 42, 47, 118, 128, 129, 665

handleResponse, 689

tło, 409, 410, 411, 412, 413, 415

HTMLElement, 532

tr, 42, 121, 229, 231, 670

JavaScript, 639

track, 123, 738

listClasses, 595

treściowy, 48

marquee, 433

treść, 430

new Array, 104

tworzenie, 603, 604

Number, 103

typ, 48, 357

parametry, 90

u, 119, 151, 161, 667

parseFloat, 104

ukrywanie, 442

parseInt, 104

ul, 120, 195, 199, 200, 217

przeciągnij i upuść, 799, 800, 804, 810

usuwanie, 603, 604

readCookies, 556

var, 119, 152, 167, 667

stopImmediatePropagation, 649, 650

video, 123, 732, 740, 769, 770

stopPropagation, 649, 650

void, 43

table CSS, 241

wbr, 119, 152, 164, 165, 166, 667

toggleClass, 595

weryfikacja, 385

url, 407

widoczność, 434

writeResponse, 712, 723

wstawianie do bloku tekstu, 612

wyszukiwanie, 563

z ograniczeniami, 48

G

zawartość, 346

zaznaczony, 383

Geolocation API, 813

encja, 48, 260

geolokalizacja, 813, 815, 818, 820

Google’a, 816

godzina, 180, 298

F

GPS, 815

gradient

favikona, 141

liniowy, 757, 758, 760

film, Patrz: wideo

promieniowy, 757, 762

Firebug, 111

grafika, 342

Firefox, 33, 35, 111, 142, 210, 211, 214, 280, 291, 399, 493,

grupowanie treści, 183, 185

574, 622, 691, 715, 744, 765, 805, 816, 839

Flash, 30, 32, 720, 731, 749

flexbox, 449, 456, 457, 458, 459

H

wielkość maksymalna, 463

flow, Patrz: element strukturalny

hasło, 285, 286, 688

fokusowanie, 639, 657

wyszukiwania, 302

font, 77, 482, 484, 485, Patrz też: czcionka

host, 130, 584, 694

internetowy, 486

HTML

format ico, 141

dokument, 45, 46

formularz, 121, 253, 255, 305, 309, 337, 386, 660, 671, 682,

standard, Patrz: standard HTML

709, 710, 712, 715

HTML5

etykieta, 263, 264

specyfikacja bazowa, 31

grupowanie elementów, 267

standard, Patrz: standard HTML5

konfiguracja, 258

framework CSS, 449

I

funkcja, 32, 90, 94, 644, Patrz też: metoda

analizy stylów, 83

identyfikator fragmentu, 55, 394

argumenty, 91

ilustracja, 200

collapse, 435

indeks

displayErrorMsg, 696

dolny, 163

displayMsg, 589

górny, 163

849

Kup książkę

Poleć książkę

„ SKOROWIDZ

indeksownik tablicowy, 561

kodowanie, Patrz: dane kodowanie

interakcja, 689

kolor, 74, 300, 409, 417, 513, 757

niezabezpieczona, 259

pierwszego planu, 514

zabezpieczona, 259

wypełnienia, 754

interfejs, 382, 532

Komodo Edit, 36

Internet Explorer, 30, 35, 210, 715, 816

kompas, 815

iOS, 30

kompozycja, 794

komunikat, 586

J

kontekst, 751, 765

2d, 751

JavaScript, 30, 32, 36, 45, 83, 87, 142, 143, 274, 444, 533

3d, 751

biblioteka, 112

przeglądania, 131, 155, 262, 332, 338

debuger, 111

kontener, 346

dezaktywacja, 148

krzywa Béziera, 495, 785, 787

narzędzia, 111

kursor, 389, 527

obiekt, Patrz: obiekt

operator, Patrz: operator

L

prymityw, Patrz: prymityw

tablica, Patrz: tablica

layout, 241, 249, 251, 265, 418, 430, 437, 449

JavaScript Object Notation, Patrz: JSON

animacja, 503

jednostka, 82

elastyczny, 457

bezwzględna, 76

siatkowy, 449

czasu, 82

szablonowy, 449

nieobdługiwana, 81

tabelowy, 465

obliczanie, 81

wielokolumnowy, 454

względna, 77, 80

właściwość, 351

jednostki, 633

LESS, 84

konwersja, 634

liczba

język

całkowita, 93

ISO, 56

rzeczywista, Patrz: liczba zmiennoprzecinkowa

Java, 30

zmiennoprzecinkowa, 93

skryptowy, 142

znaczników, 34

licznik, 588, 771

jQuery, 112, 144, 300, 317, 449, 533, 799

CSS, 373

jQuery UI, 112

czasu, 589

JSON, 718, 725, 726, 728

odstępów, 589

linia, 778

pozioma, 43

K

prosta, 776

stykająca się, 755

kalkulator, 316

szerokość, 754

kaskadowanie, 83

zakończenie, 778

kaskadowość, 67, 69

lista, 193, 513, 523

kaskadujące arkusze stylów, Patrz: CSS

definicji, 197

kąt, 82

klas, 593

keywords, 133

nieuporządkowana, 48, 195, 200

klasa, 116, 362, 593

o specyficznej numeracji, 199

article, 117

uporządkowana, 48, 193, 197

klatka

wewnętrzna, 200

kluczowa, 497, 498, 504

znacznik, 523, 524, 525

klauzula

literał

procentowa, 499

obiektowy, 94, 97

klient

użytkownika, 45

tablicowy, 105

klucz, 823

logo, 211

prywatny, 316

logogram, Patrz: pismo logograficzne, znak ruby

publiczny, 316

850

Kup książkę

Poleć książkę

„ SKOROWIDZ

Ł

getElementById, 564

getElementsByTagName, 548

łuk, 780

getPropertyPriority, 632

getPropertyValue, 632

getResponseHeader, 699

M

hasFeature, 557

History.pushState, 577, 582

magazyn

HTMLElement, 591

danych, 823

HTTP, 259, 689, 697

lokalny, 823, 826

insertAdjacentHTML, 608, 611

sesji, 823, 827

isEqualNode, 607

manifest, 833, 835

isSameNode, 606

mapa, 305, 331

moveTo, 780

obrazu działająca po stronie klienta, 329, 338

namedItem, 560

obrazu przetwarzana po stronie serwera, 327

open, 688

margines, 426, 427

pause, 747

menu, 48

play, 747

kontekstowe, 53

POST, 698

metadane, 46, 48, 118, 125, 127, 128, 129, 131, 133, 549,

postMessage, 586

663, 734

preventDefault, 714

metoda, 94, 97, Patrz też: funkcja

przeszukiwania, 564

addColorStop, 759

PUT, 698

addEventListener, 587, 644, 645

quadraticCurveTo, 787

append, 716

querySelectorAll, 564

arc, 780, 784, 785

rect, 779

arcTo, 780, 781, 782

removeEventListener, 644

assign, 554

replace, 554

back, 576

restore, 767

bezierCurveTo, 786

save, 767

canPlayType, 743

send, 689, 719

clearInterval, 588

setInterval, 588

clearRect, 753

setItem, 823

clearTimeout, 588

setRequestHeader, 699

cloneNode, 604, 605

setTimeout, 588

closePath, 777, 780

showModalDialog, 575

createLinearGradient, 759, 762

stringify, 719

createPattern, 765

stroke, 777, 780, 789

createRadialGradient, 763

strokeRect, 753, 754, 755, 757, 779

CSSStyleDeclaration.getPropertyCSSValue, 632

toggle, 595

DELETE, 698

toString, 102

do interakcji z oknem, 572

watchPosition, 820, 821

Document, 561

writeln, 89, 548

document.defaultView.getComputedStyle, 635

Microsoft, 30

document.writeln, 89

MIME, 732, 833

drawImage, 769, 770, 772

model

fill, 777, 778, 780, 789

polowy, 346, 449

fillRect, 753, 757, 762, 779

zbudowany z obiektów, 531

forward, 576

Modernizr, 33, 83

GET, 698

moduł

getAllResponseHeaders, 699

multipart, 36

getComputedStyle, 635

modyfikator, 137

getContext, 751

Mozilla Developer Network, 34

getCurrentPosition, 813, 816, 818, 821

multimedia, 731, 747

getElement, 562

851

Kup książkę

Poleć książkę

„ SKOROWIDZ

N

HTMLFieldSetElement, 671

HTMLFormElement, 672

nagłówek, 211, 235, 697

HTMLHeadElement, 665

Cache-Control, 699

HTMLHeadingElement, 668

header, 220

HTMLHtmlElement, 665

HTTP, 701

HTMLHttpRequest, 719

odpowiedzi, 699

HTMLImageElement, 560, 679, 765

żądania, 704

HTMLInputElement, 672

nawigacja, 553

HTMLLabelElement, 674

nazwa użytkownika, 688

HTMLLegendElement, 674

Netscape, 30

HTMLLIElement, 667

Netscape Navigator, 30

HTMLLinkElement, 664

Node.js, 36, 253, 256, 710, 723

HTMLMapElement, 680

notacja

HTMLMediaElement, 740, 741, 745

ruby, Patrz: pismo logograficzne, znak ruby

HTMLMetaElement, 664

tablicowa, 560, 595

HTMLMeterElement, 680

numer indeksowy, 595

HTMLModElement, 666

HTMLObjectElement, 680

HTMLOLListElement, 667

O

HTMLOptGroupElement, 674

HTMLOptionElement, 675

obiekt, 93, 95

HTMLOutputElement, 675

ApplicationCache, 839, 841

HTMLProgressElement, 681

Array, 106

HTMLQuoteElement, 666, 667

CanvasGradient, 758, 759

HTMLScriptElement, 664

Coordinates, 814

HTMLSelectElement, 676

CSSPrimitiveValue, 632

HTMLSpanElement, 667

CSSRuleList, 621

HTMLStyleElement, 665

CSSStyleDeclaration, 541, 624, 625, 635

HTMLTableColElement, 668

CSSStyleRule, 621

HTMLTableElement, 669

CSSStyleSheet, 616

HTMLTableHeaderCellElement, 669

DataTransfer, 806, 808

HTMLTableRowElement, 670

document, 89, 603

HTMLTableSectionElement, 669

Document, 532, 534, 547, 549, 558, 561, 564, 570, 654

HTMLTextAreaElement, 677

elementy, 559

HTMLTimeElement, 666

DOM, 532, 533

HTMLTitleElement, 665

DOMTokenList, 594

HTMLVideoElement, 740

DragEvent, 806

JavaScript, 685

elementów, 608

JSON, 719

Event, 643, 645, 654, 691, 692

KeyboardEvent, 659

FocusEvent, 659

Location, 536, 552, 553, 554

FormData, 715, 716, 719, 720

MediaList, 617

Geolocation, 813

MessageEvent, 586, 587

History, 538, 575

NodeList, 561

HTMLAnchorElement, 665

Position, 814

HTMLAreaElement, 678

PositionOptions, 818

HTMLAudioElement, 740

ProgressEvent, 692

HTMLBaseElement, 663

Screen, 538

HTMLBodyElement, 663

stanu, 582

HTMLBRElement, 667

Storage, 823, 827

HTMLCanvasElement, 751

StorageEvent, 826

HTMLDataListElement, 671

tekstowy, 608

HTMLDetailsElement, 668

Text, 541, 600, 612

HTMLElement, 532, 539, 549, 564, 591, 592, 644

Window, 537, 569, 570, 573, 575, 584, 588, 654, 827

tablica, 561

właściwość, 96, 97, 98

HTMLEmbedElement, 678, 679

XMLHttpRequest, 686, 691, 697, 704, 721

852

Kup książkę

Poleć książkę

„ SKOROWIDZ

obramowanie, 249, 251, 751, 757, Patrz: tabela

protokół, 130, 584

obramowanie, Patrz: element obramowanie

ftp, 154

obraz, 326, 404, 405, 409, 524, 765, 769

http, 154

zastępczy, 735

HTTP, 133

obsługa błędów, 106

https, 154

obszar przycinania, 790

mailto, 154

odnośnik, 152, 153, 154, 161

prymityw, 100

graficzny, 327

przeciąganie, 53, 799, 800

oparty na obrazach, 154

przeglądarka, 30, 31, 32, 33, 45, 67, 146, 154, 165, 345,

wewnętrzny, 155

547, 558

odtwarzanie natywne, 32, 33

Apple Safari, Patrz: Safari

odwołanie, 167

Google Chrome, Patrz: Chrome

okno, 155, 570, 654

historia, 575, 576, 577, 579, 581, 583

opcja wyboru, 309

Internet Explorer, Patrz: Internet Explorer

Opera, 35, 211, 283, 300, 301, 387, 455, 493, 690, 691, 715,

Mozilla Firefox, Patrz: Firefox

742, 765, 816, 834

NCSA Mosaic, 29

operator, 99, 111

Netscape Navigator, Patrz: Netscape Navigator

offline, 838

P

Opera, Patrz: Opera

prefiks, Patrz: prefiks

przejście, 489, 490, 494, 503

parametr funkcji, Patrz: funkcja parametry

odwrócone, 493

parser XML, 46

tematyczne, 191

parsowanie, 556

właściwość, 353

pasek postępu, 339, 340

z przekształceniem, 511

phrasing, Patrz: element treściowy

przekazywanie komunikatów między dokumentami, 584

piksel, 79, 326

przekształcenie, 489, 508, 509, 511, 792, 796

referencyjny, 79

punkt wyjścia, 510

pismo logograficzne, 171, 172

właściwość, 353

plik, 709

przepełnienie, 429, 431, 433

audio, Patrz: audio

tekstowe, 478

graficzny, 326

przestrzeń pionowa, 461

odtwarzanie, 745

przeszukiwanie łańcuchowe, 564

przesyłanie, 719

przezroczystość, 514, 793

wczytywanie, 307, 308

przycisk, 386

wideo, Patrz: wideo

graficzny, 305

płótno, Patrz: element canvas

przyspieszeniomierz, 815

podpis, 243

pseudoklasa, 375, 388

podścieżka, 776, 780

interfejsu, 382

podtytuł, 205

pseudoselektor, 369, 372, 392

pole

elementu, 346, 435

pływające, 442

R

przycinania, 415

tekstowe, 313

ramka, 155, 332

wyboru, 295

rodzic, 47, 48, 74, 346

położenie geograficzne, 813

port, 130, 584

S

8080, 257

potomek, 47, 365

Safari, 35, 211, 338, 493, 715, 816

pozycjonowanie, 450

Same origin policy, Patrz: żądanie międzyźródłowe

prawda/fałsz, 292

Scalable Vector Graphics, Patrz: SVG

prefiks, 346, 491

sekcja, 203, 209, 225, 668

data-, 597

CACHE, 835, 836

programowanie obiektowe, 532

FALLBACK, 835, 836

prostokąt, 752, 775, 779

853

Kup książkę

Poleć książkę

„ SKOROWIDZ

sekcja

skalowanie, 797

NETWORK, 838

grafiki wektorowe, Patrz: SVG

tytuł, 225

skrót, 167, 168

SelectorGadget, 83

klawiszowy, 49

selektor, 234, 392

skrypt, 142, 147, 256, 556

active, 390

inline, 88, 143, 147

after, 170, 199, 372, 373

komunikacja, 584

atrybutów, 360, 362

śledzący, 148

before, 170, 199, 200, 372, 373

wykonywalny po stronie klienta, 30

bezpośredni, 368

zaufany, 587

brata, 368, 383

zewnętrzny, 88, 147

checked, 383

źródło, 584

CSS, 63, 346, 355, 563, 564

słowo kluczowe

disabled, 382

function, 90

dynamiczny, 388

new, 688

dzieci, 366, 377

return, 91

empty, 393

this, 95

enabled, 382

var, 92

first-child, 377

spacja, 472

first-letter, 370

stan rysowania, 754, 767

first-line, 370

standard, 34

focus, 391

HTML, 31

hover, 389, 490

HTML5, 33

ID, 151, 359

RFC3339, 180

in-range, 386, 387

stopka, 211, 235, 236

invalid, 385

footer, 220

klasy, 358, 362

styl

lang, 394

aktywowanie, 620

last-child, 378

analiza, 83

link, 388

definiowanie, 62, 63, 65, 67

łączenie, 363

deklaracja, 61

negacji, 383, 392

n-tego dziecka, 381

dezaktywowanie, 620

ogólny, 368

dostęp, 621

only-child, 379

dziedziczenie, Patrz: dziedziczenie

only-of-type, 380

elementu, 623, 624

optional, 387

graficzny, 751

out-of-range, 386

importowanie, 66

podstawowy, 356

inline, 62, 69, 549

potomków, 365

kaskadowość, Patrz: kaskadowość, CSS

pseudoelementów, 369, 370

nakładanie, 62

pseudoelementów CSS, 170

obliczony, 615, 635

pseudoklas, 369, 376, 388

osadzony, 63, 69

pseudoklas interfejsu, 382

precyzja, 70

required, 387

prosty, 61

root, 376

przeglądarki, 67, 69

statyczny, 388

przetworzony, 83

strukturalny, 376

selektor, 65, 83

target, 394

użytkownika, 68, 69, 70

uniwersalny, 356, 358

wartość, 62

valid, 385, 386

inherit, 74

visited, 388, 389

właściwość, 61, 67, 69

serwer, 709, 838

width, 75

titan, 257

zewnętrzny, 69

utworzenie, 710

SVG, 34

854

Kup książkę

Poleć książkę

„ SKOROWIDZ

system

tryb offline, 832

GPS, 815

typ

operacyjny Apple iOS, Patrz: iOS

boolean, 92, 93, 109

szyfrowanie, 286, 316

konwersja, 102, 103

MIME, 732, 833

Ś

number, 92, 93, 103, 109

prosty, 92

ścieżka, 776, 780, 789

string, 92, 109

śledzenie postępów wczytywania danych, 721

typografia, 482

T

U

tabela, 229, 234, 236, 242, 249, 430, 435, 465, 513, 516,

upuszczanie, 53, 799, 800

668, 682

krawędzie, 518

W

nieregularna, 238

obramowanie, 516, 519

W3C, 31, 32, 34, 259, 345

odstępy pomiędzy komórkami, 518

wartość, 132

podpis, 520

domyślna, 280

puste komórki, 519

liczbowa, 339

układ, 521

noarchive, 132

tablica, 104, 105, 106, 560

nofollow, 132

obiektów Attr, 598

noindex, 132

obiektów HTMLElement, 561

null, 108, 109, 110, 111, 563

wartości indeksowanych według nazwy właściwości,

numeryczna, 290

597

obliczona, 626

tabulator, 472

skonfigurowana, 626

tag, Patrz: znacznik

undefined, 108, 109, 110, 111

tekst, 469, 600

ważność, 631, 632

cień, 481

wcięcie pierwszego wiersza, 478

dekorowanie, 479

Webkit, 417

dodany, 178

wideo, 32, 731, 732, 765, 770

dzielenie wyrazów, 476

format, 737

fonty, 482, 484, 485, 486

odtwarzanie, 745

justowanie, 470

źródło, 736

kierunek, 474

właściwość, 353

odstępy między wyrazami, 475

animacji, 353, 497

podkreślony, 161

counter, 199, 200

podświetlony, 177

counter-reset, 373

pomniejszony, 162

CSSStyleDeclaration, 627

przekreślony, 159

layoutu, 351

przekształcanie, 479

length, 563

rysowanie, 790

pomocnicza, 625, 627

usunięty, 178

przejścia, 353, 491, 494

ważny, 160

przekształcenia, 353

wcięcie pierwszego wiersza, 478

sprawdzanie automatyczne, 630

właściwość, 352

tekstu, 352

wstawianie elementu, 612

width, 137

zawijanie, 472

World Wide Web Consortium, Patrz: W3C

tło, Patrz: element tło

współrzędne, 306

treść

wtyczka, 30, 31, 32, 111, 333, 342

numeryczna, 373

wynik obliczenia, 316

zapasowa, 750

wyobrażenie wartości liczbowych, 339

zastępcza, 326, 336, 732

wypełnienie, 757

trójkąt, 780

wzór, 765

855

Kup książkę

Poleć książkę

„ SKOROWIDZ

X

myszy, 654

nasłuchiwacz, 644, 648, 650

XHTML, 46

nasłuchiwanie, 586

XML, 46

onabort, 544

XSS, 701, 703

onafterprint, 544

onbeforeprint, 544

onhashchange, 544

Y

onmouseover, 640

onpopstate, 544

YouTube, 33, 334

onresize, 544

onunload, 544

Z

progress, 691

prosta procedura obsługi, 640, 642

zakładka, 155

przeciąganie, 800, 806

zapytanie, 573

readystatechange, 557, 688, 691, 692

zasoby

reset, 544

audiowizualne, 342

storage, 826

submit, 544

osadzanie, 325, 333, 342

typ, 645

pobieranie z wyprzedzeniem, 142

zmienna, 92

źródła, 584

globalna, 92

zdarzenie, 531, 554, 569, 584, 639

lokalna, 92

atrybut, 640

typ, 92, Patrz też: typ

bąbelkowanie, 651, 653

window, 570

blur, 544

znacznik, 40, 116, 127

cel, 647

otwierający, 42, 44, 548

click, 544, 653

otwierającym, 732

dblclick, 544

pojedynczy, 42, 44

DOM, 544

zamykający, 42, 44, 145, 732

faza bąbelkowania, 647, 649, 651

znak

faza celu, 647, 649, 650

biały, 472

faza przechwytywania, 647

ruby, 172

focus, 544

specjalny, 260

focusin, 544

focusout, 544

fokusowania, 657

Ź

formularza, 660

źródło

keydown, 544

audio, 739

keypress, 544

zaufane, 587

keyup, 544

klawiatury, 658

message, 586

Ż

mousedown, 544

mouseenter, 544

żądanie, 689, 694, 701, 712

MouseEvent, 806

anulowanie, 704

GET, 259, 689

mouseleave, 544

międzyźródłowe, 701

mousemove, 544

nagłówek, 697, 704

mouseout, 544, 654

POST, 259, 689

mouseover, 544, 640, 654

preflight, 70

mouseup, 544

856

Kup książkę

Poleć książkę

KSIĄŻKI TEGO AUTORA

Angular. Profesjonalne techniki programowania. Wydanie II ASP.NET Core MVC 2. Zaawansowane programowanie. Wydanie VII ASP.NET MVC 5. Zaawansowane programowanie AngularJS. Profesjonalne techniki HTML5. Przewodnik encyklopedyczny ASP.NET MVC 4. Zaawansowane programowanie