1 00:00:00,000 --> 00:00:04,439 2 00:00:04,439 --> 00:00:07,230 Doug LLOYD: Dalam video ini, kita ingin untuk memanggil perhatian terpisah 3 00:00:07,230 --> 00:00:09,110 untuk yang sangat khusus unsur JavaScript 4 00:00:09,110 --> 00:00:11,350 Anda mungkin menemukan berguna ketika Anda mulai 5 00:00:11,350 --> 00:00:15,750 untuk bekerja pada memanipulasi halaman web dan mengubah isi halaman web Anda 6 00:00:15,750 --> 00:00:16,460 dengan cepat. 7 00:00:16,460 --> 00:00:19,450 Dan itulah gagasan Object Model Dokumen. 8 00:00:19,450 --> 00:00:23,030 Jadi seperti yang kita lihat dalam video kami di JavaScript, objek yang sangat fleksibel. 9 00:00:23,030 --> 00:00:24,750 >> Dan mereka dapat berisi berbagai bidang. 10 00:00:24,750 --> 00:00:28,075 Dan meskipun kami tidak pergi ke banyak detail, bidang-bidang atau properti, 11 00:00:28,075 --> 00:00:30,200 bahwa kita akan mungkin lebih tepat menyebutnya 12 00:00:30,200 --> 00:00:33,915 dalam konteks objek, bahkan properti-properti dapat menjadi objek lain. 13 00:00:33,915 --> 00:00:36,210 Dan di dalam benda-benda bisa benda lainnya. 14 00:00:36,210 --> 00:00:39,630 >> Anda memiliki objek yang sangat besar ini dengan banyak objek lain 15 00:00:39,630 --> 00:00:43,550 di dalamnya, yang semacam menciptakan ide ini dari sebuah pohon besar. 16 00:00:43,550 --> 00:00:47,540 Sekarang, objek dokumen adalah objek yang sangat istimewa dalam JavaScript 17 00:00:47,540 --> 00:00:52,580 yang mengatur seluruh web Anda Halaman di bawah ini semacam payung 18 00:00:52,580 --> 00:00:53,470 dari sebuah objek. 19 00:00:53,470 --> 00:00:56,770 Dan di dalam dokumen objek adalah objek menyajikan 20 00:00:56,770 --> 00:00:59,630 kepala dan tubuh dari halaman web Anda. 21 00:00:59,630 --> 00:01:03,760 >> Di dalam dari mereka adalah lain benda, dan sebagainya, dan sebagainya, 22 00:01:03,760 --> 00:01:08,411 sampai seluruh halaman web Anda memiliki diselenggarakan di objek besar ini. 23 00:01:08,411 --> 00:01:09,660 Apa terbalik di sini, kan? 24 00:01:09,660 --> 00:01:12,170 Nah, kita tahu bagaimana bekerja dengan benda-benda di JavaScript. 25 00:01:12,170 --> 00:01:15,840 >> Jadi jika kita memiliki sebuah benda yang mengacu ke halaman web seluruh kami, yang 26 00:01:15,840 --> 00:01:19,590 berarti dengan memanggil yang benar metode untuk memanipulasi objek yang 27 00:01:19,590 --> 00:01:22,360 atau memodifikasi tertentu dari sifat-sifatnya, kita 28 00:01:22,360 --> 00:01:25,500 dapat mengubah unsur halaman kami pemrograman 29 00:01:25,500 --> 00:01:30,210 menggunakan JavaScript daripada harus kode hal dengan, katakanlah, HTML. 30 00:01:30,210 --> 00:01:33,760 Jadi di sini adalah contoh dari sangat sederhana halaman web, kan? 31 00:01:33,760 --> 00:01:35,850 Itu punya tag HTML, kepala. 32 00:01:35,850 --> 00:01:37,979 >> Di dalam ada judul, halo dunia. 33 00:01:37,979 --> 00:01:38,770 Lalu aku memiliki tubuh. 34 00:01:38,770 --> 00:01:40,686 Di dalam itu, saya memiliki tiga hal yang berbeda. 35 00:01:40,686 --> 00:01:44,170 Saya memiliki sebuah header tag h2, paragraf, dan link. 36 00:01:44,170 --> 00:01:45,920 Ini adalah halaman web yang sangat sederhana. 37 00:01:45,920 --> 00:01:48,590 >> Nah, apa mungkin dokumen keberatan untuk tampilan ini seperti? 38 00:01:48,590 --> 00:01:50,700 Nah, itu sedikit menakutkan mungkin pada awalnya. 39 00:01:50,700 --> 00:01:52,510 Tapi itu benar-benar hanya sebuah pohon besar. 40 00:01:52,510 --> 00:01:54,890 Dan di bagian akar itu adalah dokumen. 41 00:01:54,890 --> 00:02:00,030 >> Di dalam dokumen yang lain objek mengacu pada HTML halaman saya. 42 00:02:00,030 --> 00:02:02,660 Dan HTML halaman saya adalah semua ini. 43 00:02:02,660 --> 00:02:06,900 Dan kemudian dalam HTML objek, saya memiliki objek kepala, 44 00:02:06,900 --> 00:02:09,000 yang mengacu pada segala sesuatu yang ada. 45 00:02:09,000 --> 00:02:11,009 >> Dan dalam sana, Saya memiliki objek judul. 46 00:02:11,009 --> 00:02:15,620 Dan dalam sana, saya memiliki lain keberatan itu hanya hello world. 47 00:02:15,620 --> 00:02:18,020 Aku bisa memiliki tubuh saya diwakili seperti ini. 48 00:02:18,020 --> 00:02:22,850 >> Dalam tubuh saya, saya memiliki h2 objek dan objek p untuk ayat 49 00:02:22,850 --> 00:02:25,270 dan objek untuk link. 50 00:02:25,270 --> 00:02:29,660 Dan seluruh hirarki ini dapat direpresentasikan sebagai pohon besar 51 00:02:29,660 --> 00:02:31,990 dengan banyak sedikit lebih kecil hal yang keluar dari itu. 52 00:02:31,990 --> 00:02:33,740 Sekarang, tentu saja, ketika kita pemrograman, kita 53 00:02:33,740 --> 00:02:35,560 tidak memikirkan hal-hal seperti pohon besar. 54 00:02:35,560 --> 00:02:37,980 Kami ingin melihat yang sebenarnya kode hal yang berkaitan. 55 00:02:37,980 --> 00:02:40,790 >> Dan untungnya, kita bisa menggunakan alat pengembang kami 56 00:02:40,790 --> 00:02:46,080 untuk benar-benar kita lihat objek dokumen situs ini. 57 00:02:46,080 --> 00:02:48,150 Dan mari kita melakukan itu. 58 00:02:48,150 --> 00:02:49,580 Jadi saya sudah membuka tab browser. 59 00:02:49,580 --> 00:02:51,540 >> Dan aku sudah membuka Developer Tools. 60 00:02:51,540 --> 00:02:54,460 Dan di video saya di JavaScript, saya menyebutkan bahwa konsol tidak 61 00:02:54,460 --> 00:02:56,770 hanya tempat di mana kami mencetak informasi, 62 00:02:56,770 --> 00:02:59,560 itu juga tempat di mana kita dapat memasukkan informasi. 63 00:02:59,560 --> 00:03:01,380 Dalam konteks ini, apa yang Aku akan katakan adalah 64 00:03:01,380 --> 00:03:05,720 Saya ingin mendapatkan kembali objek dokumen, 65 00:03:05,720 --> 00:03:07,502 jadi saya bisa mulai untuk melihat itu. 66 00:03:07,502 --> 00:03:08,460 Jadi bagaimana mungkin saya melakukan ini? 67 00:03:08,460 --> 00:03:10,740 Nah, jika saya ingin mengatur itu benar-benar baik, 68 00:03:10,740 --> 00:03:16,317 Aku akan mengatakan console.dir, D-I-R. Sekarang, saya menggunakan console.log hanya cetak 69 00:03:16,317 --> 00:03:17,400 sesuatu yang sangat sederhana. 70 00:03:17,400 --> 00:03:20,450 Tapi jika saya ingin mengatur ini hierarkis seperti sebuah objek, 71 00:03:20,450 --> 00:03:23,800 Saya ingin semacam terstruktur seperti struktur direktori. 72 00:03:23,800 --> 00:03:27,400 >> Jadi saya ingin console.dir dokumen. 73 00:03:27,400 --> 00:03:28,430 Aku akan tekan Enter. 74 00:03:28,430 --> 00:03:32,350 Dan tepat di bawah sekarang, dan saya akan memperbesar sini, 75 00:03:32,350 --> 00:03:36,000 Saya punya dokumen respon ini dengan panah kecil di sebelahnya. 76 00:03:36,000 --> 00:03:39,470 Sekarang, ketika saya membuka panah ini, ada akan menjadi banyak hal. 77 00:03:39,470 --> 00:03:42,560 >> Tapi kami akan mengabaikan banyak itu dan hanya jenis fokus 78 00:03:42,560 --> 00:03:46,250 pada bagian yang paling penting, jadi kami dapat mulai untuk menavigasi dokumen ini. 79 00:03:46,250 --> 00:03:50,125 Ada lebih banyak untuk DOM dari hanya orang tua node dan node anak. 80 00:03:50,125 --> 00:03:51,500 Ada banyak hal tambahan. 81 00:03:51,500 --> 00:03:52,280 >> Jadi aku akan membuka hal ini. 82 00:03:52,280 --> 00:03:54,610 Dan ada banyak seluruh hal yang muncul. 83 00:03:54,610 --> 00:03:59,000 Tapi semua yang saya pedulikan adalah di sini, node anak. 84 00:03:59,000 --> 00:04:00,410 Mari kita membuka bahwa sampai. 85 00:04:00,410 --> 00:04:03,810 >> Di dalam sana aku melihat sesuatu yang akrab, HTML. 86 00:04:03,810 --> 00:04:07,670 Jadi di dalam dokumen kami satu tingkat ke bawah, HTML. 87 00:04:07,670 --> 00:04:08,550 Saya membuka bahwa sampai. 88 00:04:08,550 --> 00:04:10,380 Apa yang kita harapkan? 89 00:04:10,380 --> 00:04:13,760 >> Jika Anda ingat dari diagram kita, apa yang harus kita menemukan dalam HTML? 90 00:04:13,760 --> 00:04:17,275 Apa dua node berada dibawahnya dalam pohon? 91 00:04:17,275 --> 00:04:17,899 Mari kita cari tahu. 92 00:04:17,899 --> 00:04:18,940 Kami membuka HTML. 93 00:04:18,940 --> 00:04:22,079 Kami pergi ke node anaknya. 94 00:04:22,079 --> 00:04:23,440 >> Pop yang terbuka. 95 00:04:23,440 --> 00:04:25,990 Ada kepala dan tubuh. 96 00:04:25,990 --> 00:04:28,540 Dan kita dapat membuka kepala. 97 00:04:28,540 --> 00:04:30,460 Pergi ke node anaknya. 98 00:04:30,460 --> 00:04:31,460 Nah, ada judul. 99 00:04:31,460 --> 00:04:33,293 >> Dan kita bisa terus dan seperti ini selamanya. 100 00:04:33,293 --> 00:04:34,770 Kita bisa melakukan ini dengan tubuh juga. 101 00:04:34,770 --> 00:04:40,090 Tapi ada cara bagi kita untuk melihat dokumen diselenggarakan sebagai objek besar. 102 00:04:40,090 --> 00:04:42,610 Dan jika kita melihat adalah besar objek yang terlihat banyak 103 00:04:42,610 --> 00:04:47,480 seperti kode, itu berarti bahwa kita dapat mulai untuk memanipulasi objek besar ini menggunakan 104 00:04:47,480 --> 00:04:51,220 kode untuk mengubah apa yang kami situs terlihat dan terasa seperti. 105 00:04:51,220 --> 00:04:54,920 >> Jadi itu alat yang cukup ampuh kami miliki kami sekarang. 106 00:04:54,920 --> 00:04:57,360 Jadi seperti yang kita hanya melihat, yang Dokumen obyek itu sendiri 107 00:04:57,360 --> 00:05:01,392 dan semua objek di dalamnya memiliki sifat dan metode, hanya 108 00:05:01,392 --> 00:05:04,100 seperti objek lain yang kita sudah telah bekerja dengan di JavaScript. 109 00:05:04,100 --> 00:05:08,370 Tapi kita bisa menggunakan properti-properti dan menggunakan metode-metode untuk semacam menelusuri 110 00:05:08,370 --> 00:05:10,900 dari dokumen besar dan mendapatkan lebih rendah dan lebih rendah dan lebih rendah, 111 00:05:10,900 --> 00:05:13,360 halus dan lebih halus butir detail, sampai kita 112 00:05:13,360 --> 00:05:17,510 mendapatkan bagian yang sangat spesifik kami Halaman web yang ingin kita ubah. 113 00:05:17,510 --> 00:05:22,700 >> Dan ketika kita update properti dari Dokumen Object atau hubungi metode-metode, 114 00:05:22,700 --> 00:05:24,450 hal yang mungkin terjadi pada halaman web kami. 115 00:05:24,450 --> 00:05:28,420 Dan kita tidak perlu melakukan refreshing untuk memiliki perubahan tersebut berlaku. 116 00:05:28,420 --> 00:05:33,160 >> Dan itu kemampuan yang cukup keren untuk memiliki ketika kami bekerja dengan kode. 117 00:05:33,160 --> 00:05:37,185 Jadi apa adalah beberapa sifat ini yang merupakan bagian dari objek dokumen? 118 00:05:37,185 --> 00:05:40,100 Nah, Anda mungkin melihat beberapa dari mereka benar-benar cepat 119 00:05:40,100 --> 00:05:42,700 seperti yang kita zipping melalui dokumen raksasa 120 00:05:42,700 --> 00:05:45,150 objek kita hanya melihat di web browser. 121 00:05:45,150 --> 00:05:48,420 >> Tapi beberapa sifat ini mungkin hal-hal seperti HTML batin. 122 00:05:48,420 --> 00:05:52,950 Dan Anda bahkan mungkin ingat saya menggunakan ini dalam video JavaScript 123 00:05:52,950 --> 00:05:54,950 di akhir ketika saya berbicara tentang peristiwa. 124 00:05:54,950 --> 00:05:56,125 Apa HTML batin ini? 125 00:05:56,125 --> 00:05:59,030 Nah, itu hanya apa yang di antara tag. 126 00:05:59,030 --> 00:06:01,590 >> Dan HTML batin, misalnya, dari judul 127 00:06:01,590 --> 00:06:05,390 tag, jika kita terus berjalan di bahwa contoh beberapa saat yang lalu, 128 00:06:05,390 --> 00:06:08,020 akan hello world. 129 00:06:08,020 --> 00:06:10,140 Itu adalah judul dari halaman kami. 130 00:06:10,140 --> 00:06:12,370 Sifat-sifat lainnya termasuk nama node, yang 131 00:06:12,370 --> 00:06:15,810 adalah nama dari sebuah HTML elemen seperti judul. 132 00:06:15,810 --> 00:06:19,100 ID, yang merupakan ID atribut dari elemen HTML. 133 00:06:19,100 --> 00:06:23,790 >> Ingat bahwa kami khusus dapat menunjukkan elemen spesifik HTML kami 134 00:06:23,790 --> 00:06:27,510 dengan ID atribut, yang biasanya sangat berguna dalam konteks CSS, 135 00:06:27,510 --> 00:06:29,000 secara khusus. 136 00:06:29,000 --> 00:06:33,217 Node induk, yang merupakan referensi untuk apa hanya sampai di atas saya di DOM. 137 00:06:33,217 --> 00:06:35,800 Dan node anak, yang merupakan referensi untuk apa di bawah saya. 138 00:06:35,800 --> 00:06:37,950 Dan kami melihat banyak yang hanya melihat melalui. 139 00:06:37,950 --> 00:06:42,970 Node anak, itulah cara kami mendapat lebih rendah dan lebih rendah ke pohon. 140 00:06:42,970 --> 00:06:46,590 >> Atribut, itu hanya sebuah array dari atribut dari elemen HTML. 141 00:06:46,590 --> 00:06:50,270 Jadi contoh dari atribut mungkin jika Anda memiliki tag gambar, 142 00:06:50,270 --> 00:06:54,090 biasanya memiliki atribut sumber, mungkin tinggi dan atribut lebar. 143 00:06:54,090 --> 00:06:57,120 Dan itu hanya akan menjadi sebuah array semua atribut yang terkait 144 00:06:57,120 --> 00:06:59,300 dengan elemen HTML. 145 00:06:59,300 --> 00:07:04,140 >> Gaya adalah satu lagi yang tidak mewakili CSS 146 00:07:04,140 --> 00:07:06,050 styling dari elemen tertentu. 147 00:07:06,050 --> 00:07:08,310 Dan kemudian di ini video, kita akan secara khusus 148 00:07:08,310 --> 00:07:14,592 gaya leverage untuk membuat pasangan perubahan ke website kami. 149 00:07:14,592 --> 00:07:15,800 Jadi mereka adalah beberapa properti. 150 00:07:15,800 --> 00:07:17,591 >> Dan ada juga beberapa metode yang kita bisa 151 00:07:17,591 --> 00:07:22,450 gunakan untuk juga lebih cepat mungkin mengisolasi elemen dari Document Object. 152 00:07:22,450 --> 00:07:26,730 Mungkin, yang paling serbaguna ini menjadi getElementById. 153 00:07:26,730 --> 00:07:31,190 Jadi saya mungkin mengatakan sesuatu seperti, karena ingat itu metode Dokumen 154 00:07:31,190 --> 00:07:34,880 Obyek, document.getElementById. 155 00:07:34,880 --> 00:07:39,820 >> Dan dalam kurung tersebut, tentukan elemen HTML dengan ID tertentu 156 00:07:39,820 --> 00:07:42,330 atribut bahwa saya telah sebelumnya mengatur, dan saya segera akan 157 00:07:42,330 --> 00:07:46,685 pergi ke kanan ke elemen yang dari website secara keseluruhan. 158 00:07:46,685 --> 00:07:49,310 Jadi saya tidak perlu mungkin bor turun melalui setiap lapisan tunggal. 159 00:07:49,310 --> 00:07:52,841 Aku hanya bisa menggunakan metode ini untuk menemukan itu, semacam seperti rudal mencari panas, 160 00:07:52,841 --> 00:07:53,340 kanan? 161 00:07:53,340 --> 00:07:56,300 Hanya pergi dan menemukan persis apa yang sedang mencari. 162 00:07:56,300 --> 00:07:59,290 >> Buka menu adalah sangat mirip dalam roh. 163 00:07:59,290 --> 00:08:02,500 Mungkin ini akan menemukan semua tag tebal atau semua tag p 164 00:08:02,500 --> 00:08:05,920 dan memberikan saya sebuah array dari segala sesuatu bahwa saya kemudian bisa bekerja dengan. 165 00:08:05,920 --> 00:08:12,080 appendChild menambahkan sesuatu satu tingkat ke bawah di pohon. 166 00:08:12,080 --> 00:08:16,440 >> Jadi saya dapat menambahkan seluruh baru Elemen satu tingkat lebih rendah. 167 00:08:16,440 --> 00:08:19,700 Atau aku dapat menghapus elemen yang satu tingkat lebih rendah juga jika saya ingin 168 00:08:19,700 --> 00:08:22,870 menghapus sesuatu dari halaman web saya. 169 00:08:22,870 --> 00:08:28,480 Sekarang, coding catatan singkat dan cepat sakit kepala menyimpan catatan, mudah-mudahan. 170 00:08:28,480 --> 00:08:31,670 >> getElementById-- d adalah huruf kecil. 171 00:08:31,670 --> 00:08:36,950 Saya tidak bisa mengatakan berapa kali saya harus digunakan getElementById dan dikapitalisasi 172 00:08:36,950 --> 00:08:38,336 d sana. 173 00:08:38,336 --> 00:08:39,460 Karena itu benar-benar umum. 174 00:08:39,460 --> 00:08:42,990 Jika kita menulis ID kata, itu biasanya modal Aku modal D. 175 00:08:42,990 --> 00:08:44,240 Dan kode saya hanya tidak bekerja. 176 00:08:44,240 --> 00:08:45,630 Dan aku tidak tahu mengapa. 177 00:08:45,630 --> 00:08:49,490 Ini adalah benar-benar, benar-benar, benar-benar bug umum bahwa setiap orang membuat, 178 00:08:49,490 --> 00:08:51,890 bahkan para ahli yang memiliki telah melakukan ini selamanya. 179 00:08:51,890 --> 00:08:55,410 Jadi hanya akan menyadari, getElementById, bahwa d adalah huruf kecil. 180 00:08:55,410 --> 00:09:00,080 Dan mudah-mudahan, yang menyelamatkan Anda beberapa menit setidaknya dari sakit hati. 181 00:09:00,080 --> 00:09:02,204 >> Jadi, apa semua ini memberitahu kita? 182 00:09:02,204 --> 00:09:03,120 Kami memiliki metode ini. 183 00:09:03,120 --> 00:09:04,161 Kami memiliki sifat ini. 184 00:09:04,161 --> 00:09:06,610 Sekarang, jika kita mulai dari dokumen, dokumen. 185 00:09:06,610 --> 00:09:10,220 apapun, kita sekarang bisa mendapatkan untuk setiap satu bagian dari halaman web kami 186 00:09:10,220 --> 00:09:14,870 bahwa kita ingin menggunakan JavaScript hanya dengan menelepon ini metode 187 00:09:14,870 --> 00:09:19,940 dan memanfaatkan sifat yang kita temukan di berbagai lokasi. 188 00:09:19,940 --> 00:09:24,890 >> Ini bisa mendapatkan bertele-tele, ini document.getElementById, 189 00:09:24,890 --> 00:09:28,560 mungkin memiliki nama tag yang panjang, mungkin Anda lakukan panggilan lebih di kemudian hari. 190 00:09:28,560 --> 00:09:31,230 Hal bisa mendapatkan sedikit bertele-tele. 191 00:09:31,230 --> 00:09:34,480 Dan sebagai programmer, Anda sudah mungkin terlihat di banyak dari video ini, 192 00:09:34,480 --> 00:09:36,600 kita tidak suka hal-hal bertele-tele. 193 00:09:36,600 --> 00:09:38,520 >> Kami ingin dapat melakukan hal-hal dengan cepat. 194 00:09:38,520 --> 00:09:42,640 Jadi kami ingin lebih cara ringkas untuk mengatakan sesuatu. 195 00:09:42,640 --> 00:09:46,270 Jadi semacam ini mengarah ke Gagasan sesuatu yang disebut jQuery. 196 00:09:46,270 --> 00:09:49,170 Sekarang jQuery tidak JavaScript. 197 00:09:49,170 --> 00:09:50,350 Ini bukan bagian dari JavaScript. 198 00:09:50,350 --> 00:09:54,790 >> Ini adalah perpustakaan yang ditulis oleh beberapa programmer JavaScript 199 00:09:54,790 --> 00:09:57,060 sekitar 10 tahun yang lalu. 200 00:09:57,060 --> 00:10:01,300 Dan tujuannya adalah untuk menyederhanakan ini apa disebut client side scripting, yang 201 00:10:01,300 --> 00:10:04,310 pada dasarnya adalah apa yang kita hanya berbicara tentang dengan manipulasi DOM. 202 00:10:04,310 --> 00:10:11,090 Dan jadi jika saya ingin memodifikasi warna latar belakang dari halaman web saya, mungkin 203 00:10:11,090 --> 00:10:11,980 sebuah Div tertentu. 204 00:10:11,980 --> 00:10:15,325 >> Di sini, aku ternyata mendapatkan ElementById colorDiv. 205 00:10:15,325 --> 00:10:16,950 Dan saya ingin mengatur warna latar belakang. 206 00:10:16,950 --> 00:10:20,720 Jika saya hanya menggunakan murni JavaScript menggunakan Document Object Model, 207 00:10:20,720 --> 00:10:23,990 itu banyak hal, kan? document.getElementById 208 00:10:23,990 --> 00:10:25,531 colorDiv.style.backgroundColor = hijau. 209 00:10:25,531 --> 00:10:27,260 210 00:10:27,260 --> 00:10:28,050 >> Wah. 211 00:10:28,050 --> 00:10:30,110 Itu banyak untuk mengatakan. 212 00:10:30,110 --> 00:10:31,720 Ini banyak untuk mengetik, juga. 213 00:10:31,720 --> 00:10:35,760 Dan di jQuery, kita mungkin bisa mengatakan ini sedikit lebih ringkas. 214 00:10:35,760 --> 00:10:39,350 Trade off yang itu mungkin sedikit Sedikit lebih samar tiba-tiba, 215 00:10:39,350 --> 00:10:39,850 kanan? 216 00:10:39,850 --> 00:10:43,580 >> Setidaknya panjang adalah sedikit lebih explanatory untuk apa yang kita lakukan. 217 00:10:43,580 --> 00:10:49,947 Tanda dolar ini, kurung, kutip tunggal, hash, colorDiv, kan? 218 00:10:49,947 --> 00:10:50,780 Maksudnya itu apa? 219 00:10:50,780 --> 00:10:53,640 Nah, itu pada dasarnya hanya document.getElementById colorDiv. 220 00:10:53,640 --> 00:10:58,700 >> Tapi itu semacam ini singkatan cara melakukannya menggunakan jQuery. 221 00:10:58,700 --> 00:11:01,380 Mari kita lihat sekarang di beberapa cara yang berbeda 222 00:11:01,380 --> 00:11:04,520 bahwa saya mungkin benar-benar menggunakan Document Object ini 223 00:11:04,520 --> 00:11:06,807 Model untuk memanipulasi potongan situs saya. 224 00:11:06,807 --> 00:11:09,140 Secara khusus, kita akan untuk dapat bekerja pada memanipulasi 225 00:11:09,140 --> 00:11:14,090 warna tertentu Div, colorDiv, pada halaman web. 226 00:11:14,090 --> 00:11:15,299 Jadi mari kita lihat itu. 227 00:11:15,299 --> 00:11:15,798 Baiklah. 228 00:11:15,798 --> 00:11:16,700 Jadi aku pada halaman. 229 00:11:16,700 --> 00:11:20,750 Ini disebut test.html ketika Anda men-download ini jika Anda ingin bermain-main dengan ini. 230 00:11:20,750 --> 00:11:24,730 Dan aku punya banyak tombol pada halaman ini. 231 00:11:24,730 --> 00:11:27,730 Dan saya katakan fungsi individu untuk warna latar belakang, ungu, hijau, 232 00:11:27,730 --> 00:11:31,330 oranye, merah, biru, satu fungsi tunggal untuk warna latar belakang, event handler 233 00:11:31,330 --> 00:11:34,360 untuk warna latar belakang, dan menggunakan jQuery. 234 00:11:34,360 --> 00:11:38,147 Apa yang saya bicarakan ketika aku melakukan ini? 235 00:11:38,147 --> 00:11:39,230 Jadi kita telah melihat tombol. 236 00:11:39,230 --> 00:11:41,521 Sekarang, mari kita lihat beberapa kode sumber di sini. 237 00:11:41,521 --> 00:11:44,770 Kita akan mulai dengan test.html. 238 00:11:44,770 --> 00:11:48,100 Fungsi sehingga individu untuk background warna apa yang telah saya ketik di sini. 239 00:11:48,100 --> 00:11:49,350 Mari saya gulir sedikit. 240 00:11:49,350 --> 00:11:56,170 241 00:11:56,170 --> 00:11:58,820 >> Dan Anda akan melihat bahwa saya telah didefinisikan tombol ini 242 00:11:58,820 --> 00:12:03,990 mengatakan ketika tombol ini diklik, memanggil fungsi berubah ungu. 243 00:12:03,990 --> 00:12:06,670 Ketika tombol ini klik, lebih tepatnya, memanggil fungsi berubah menjadi hijau, 244 00:12:06,670 --> 00:12:08,710 mengubah oranye, berubah menjadi merah, berubah menjadi biru. 245 00:12:08,710 --> 00:12:11,880 Anda mungkin bisa menebak bahwa ini mungkin bukan desain terbaik 246 00:12:11,880 --> 00:12:12,460 akal, kan? 247 00:12:12,460 --> 00:12:16,490 >> Akan lebih baik jika aku bisa memiliki pendekatan yang lebih umum. 248 00:12:16,490 --> 00:12:19,570 Yah, pertama kita akan melihat-lihat apa lima fungsi yang 249 00:12:19,570 --> 00:12:24,400 document.getElementById colorDiv.style.background = ungu, 250 00:12:24,400 --> 00:12:27,250 hijau, oranye, merah, dan biru, masing-masing. 251 00:12:27,250 --> 00:12:30,930 Jadi, tidak terlalu desain terbaik. 252 00:12:30,930 --> 00:12:33,390 >> Set berikutnya tombol Saya telah yang saya tulis 253 00:12:33,390 --> 00:12:36,380 fungsi tunggal yang disebut mengubah warna yang tampaknya 254 00:12:36,380 --> 00:12:38,960 menerima string sebagai argumen. 255 00:12:38,960 --> 00:12:40,290 Jadi ini adalah sedikit lebih baik. 256 00:12:40,290 --> 00:12:43,840 Ungu, hijau, oranye, merah, biru sekarang argumen. 257 00:12:43,840 --> 00:12:46,230 Jadi saya telah menulis lebih umum kasus fungsi JavaScript, 258 00:12:46,230 --> 00:12:47,771 yang mungkin terlihat seperti ini. 259 00:12:47,771 --> 00:12:48,680 Aku lewat di. 260 00:12:48,680 --> 00:12:52,090 Berubah warna Fungsi ini mengharapkan argumen yang disebut warna. 261 00:12:52,090 --> 00:12:54,970 Dan saya katakan mengatur warna latar belakang warna. 262 00:12:54,970 --> 00:12:58,390 Jadi di sini mewakili apa yang aku punya di sini. 263 00:12:58,390 --> 00:12:59,770 Jadi itu sedikit lebih baik. 264 00:12:59,770 --> 00:13:02,740 >> Tapi aku mungkin bisa melakukan lebih baik dari itu. 265 00:13:02,740 --> 00:13:06,140 Jika kita pergi ke kita lihat situasi event handler, 266 00:13:06,140 --> 00:13:07,860 sekarang semua panggilan ini terlihat sama. 267 00:13:07,860 --> 00:13:10,340 Jika Anda ingat untuk kami diskusi tentang event, 268 00:13:10,340 --> 00:13:15,770 Saya bisa mendapatkan informasi tentang yang mana dari tombol ini diklik dan menggunakannya. 269 00:13:15,770 --> 00:13:19,560 >> Dan di event.JavaScript, saya sudah ditulis acara berubah warna, yang 270 00:13:19,560 --> 00:13:21,110 angka keluar tombol yang diklik. 271 00:13:21,110 --> 00:13:23,250 Itulah garis objek pemicu. 272 00:13:23,250 --> 00:13:25,240 Dan kemudian di sini, itu akan benar-benar bertele-tele. 273 00:13:25,240 --> 00:13:27,420 Tapi apa yang saya lakukan adalah saya pengaturan latar belakang 274 00:13:27,420 --> 00:13:30,340 warna triggerObject inner.HTML. 275 00:13:30,340 --> 00:13:34,170 Itulah teks dalam antara tag tombol. 276 00:13:34,170 --> 00:13:36,500 >> Dan kemudian saya tampaknya memiliki untuk mengatur ke huruf kecil. 277 00:13:36,500 --> 00:13:40,780 Dan itulah bagaimana saya bisa mengkonversi seluruh string untuk huruf kecil dalam JavaScript menggunakan 278 00:13:40,780 --> 00:13:42,940 Metode yang menjadi huruf kecil. 279 00:13:42,940 --> 00:13:46,570 Karena ketika saya mengatur warna, karena saya coba lakukan di sini, 280 00:13:46,570 --> 00:13:48,260 warna harus huruf kecil semua. 281 00:13:48,260 --> 00:13:50,920 >> Tapi tombol yang saya punya, jika kita melihat lagi, 282 00:13:50,920 --> 00:13:55,890 melihat bahwa teks ada ditulis dengan P modal untuk ungu. 283 00:13:55,890 --> 00:13:59,140 Dan kemudian di bagian paling bawah sini, saya rupanya 284 00:13:59,140 --> 00:14:02,630 mencoba dan melakukannya dengan menggunakan jQuery juga. 285 00:14:02,630 --> 00:14:06,000 Dan dalam hal ini, aku tidak benar-benar memanggil fungsi sama sekali. 286 00:14:06,000 --> 00:14:11,430 Aku baru saja mengatakan kelas bahwa aku menggunakan untuk tombol ini adalah tombol JQ. 287 00:14:11,430 --> 00:14:12,360 Itu dia. 288 00:14:12,360 --> 00:14:14,950 >> Jadi bagaimana jQuery tahu apa yang saya lakukan? 289 00:14:14,950 --> 00:14:18,740 Nah, ini adalah salah satu keuntungan memangkas kerugian dari jQuery. 290 00:14:18,740 --> 00:14:21,560 Hal ini dapat memungkinkan saya untuk melakukan hal-hal sangat singkat, tapi mungkin tidak 291 00:14:21,560 --> 00:14:22,570 sebagai intuitif. 292 00:14:22,570 --> 00:14:25,570 Mungkin tiga lainnya membuat Sedikit lebih merasakan apa yang saya lakukan. 293 00:14:25,570 --> 00:14:29,010 Di sini, meskipun, apa yang terjadi? 294 00:14:29,010 --> 00:14:31,940 >> Rupanya, menciptakan fungsi anonim 295 00:14:31,940 --> 00:14:36,790 bahwa beban setiap kali dokumen saya siap, jadi document.ready, 296 00:14:36,790 --> 00:14:38,760 beberapa fungsi yang akan terjadi. 297 00:14:38,760 --> 00:14:40,490 Pada dasarnya, kapan dokumen siap? 298 00:14:40,490 --> 00:14:42,310 Justru ketika halaman saya telah dimuat. 299 00:14:42,310 --> 00:14:46,540 >> Jadi, segera setelah halaman saya telah dimuat, fungsi berikut selalu siap. 300 00:14:46,540 --> 00:14:54,310 Ia mengatakan, jika sebuah objek dari tipe jQButton, atau jika kelas jQButton telah diklik, 301 00:14:54,310 --> 00:14:55,570 melaksanakan fungsi ini. 302 00:14:55,570 --> 00:14:59,360 Jadi, inilah dua fungsi anonim, salah didefinisikan di dalam yang lain. 303 00:14:59,360 --> 00:15:03,930 >> Jadi seluruh konteks saya di sini sejauh ini adalah halaman saya 304 00:15:03,930 --> 00:15:06,520 ketika beban itu panggilan fungsi ini. 305 00:15:06,520 --> 00:15:09,740 Dan fungsi ini menunggu untuk tombol untuk diklik. 306 00:15:09,740 --> 00:15:14,490 Dan ketika tombol diklik, JQ Tombol khusus diklik, 307 00:15:14,490 --> 00:15:17,150 panggilan ini lainnya fungsi, yang akan 308 00:15:17,150 --> 00:15:21,250 untuk mengatur latar belakang warna colorDiv menjadi 309 00:15:21,250 --> 00:15:25,990 teks apa yang ada di antara tag. 310 00:15:25,990 --> 00:15:28,050 >> Ini adalah gagasan tombol yang diklik. 311 00:15:28,050 --> 00:15:31,230 Tapi sebaliknya, ini adalah semacam berperilaku mirip dengan sebuah acara. 312 00:15:31,230 --> 00:15:34,460 Ini hanya cara yang sama saya akan mengungkapkan ini dalam jQuery. 313 00:15:34,460 --> 00:15:36,790 Sekali lagi, itu mungkin banyak lebih menakutkan. 314 00:15:36,790 --> 00:15:40,840 Ini tidak sejelas sesuatu seperti event.js, 315 00:15:40,840 --> 00:15:45,080 yang mungkin sedikit lebih verbose, tapi sedikit kurang 316 00:15:45,080 --> 00:15:46,000 mengintimidasi. 317 00:15:46,000 --> 00:15:51,460 >> Tetapi jika kita pop kembali ke browser saya window, jika saya mulai clicking-- baik, 318 00:15:51,460 --> 00:15:52,690 yang berubah menjadi ungu. 319 00:15:52,690 --> 00:15:54,450 Ini adalah hijau dengan menggunakan metode tali. 320 00:15:54,450 --> 00:15:56,500 Ini adalah oranye menggunakan event handler. 321 00:15:56,500 --> 00:15:58,300 >> Ini adalah merah menggunakan jQuery, kan? 322 00:15:58,300 --> 00:16:01,270 Mereka semua berperilaku persis sama. 323 00:16:01,270 --> 00:16:06,509 Mereka hanya melakukannya dengan menggunakan berbagai pendekatan untuk memecahkan masalah. 324 00:16:06,509 --> 00:16:08,550 Ada lebih banyak untuk jQuery maka kami pasti 325 00:16:08,550 --> 00:16:10,050 akan berbicara tentang dalam video ini. 326 00:16:10,050 --> 00:16:15,410 Tetapi jika Anda ingin mempelajari lebih lanjut, Anda dapat pergi ke jQuery semacam dokumentasi 327 00:16:15,410 --> 00:16:19,710 dan belajar sedikit tentang perpustakaan ini sangat fleksibel, yang 328 00:16:19,710 --> 00:16:22,550 sangat bagus untuk melakukan sisi klien scripting seperti apa yang kami lakukan 329 00:16:22,550 --> 00:16:26,240 untuk memanipulasi tampilan dan nuansa halaman web kami 330 00:16:26,240 --> 00:16:28,750 dengan Document Object Model. 331 00:16:28,750 --> 00:16:29,650 Aku Doug Lloyd. 332 00:16:29,650 --> 00:16:31,930 Ini adalah CS50. 333 00:16:31,930 --> 00:16:34,022