Dalam tutorial ini, kita akan mengenal berbagai metode untuk membuat elemen dari string di JavaScript. Membuat elemen dari string bisa sangat berguna jika kita harus membuat elemen secara dinamis yang membuat situs web menjadi interaktif. Contohnya seperti di aplikasi daftar tugas yang kami tambahkan, hapus, dan edit item tugas Show
Metode createElement()Kami membuat item JavaScript menggunakan metode createElement(). Untuk membuat elemen tertentu, kita meneruskan nama item sebagai string ke dalam metode createElement() Fungsi createElement(tagName) memiliki parameter sebagai nama tag yang akan dibuat menggunakan metode ini. Di sini tagName adalah nama parameter dan akan berbentuk string. Perhatikan bahwa hanya satu elemen yang akan dibuat dari satu string Sintaksisdocument.createElement("tagName") Di tempat tagName kami memberikan nama tag seperti p (paragraf), h1 (heading 1), img (gambar). createElement akan membuat tagName menjadi huruf kecil sehingga Anda tidak perlu khawatir tentang kasus ini Langkah
Mari buat heading dan paragraf dari string let string1="h3" let string2="p" let element1=document.createElement(string1) let element2=document.createElement(string2)_ Jadi, Anda harus tahu tentang cara kami membuat elemen tetapi membuat elemen tidak akan membantu untuk menampilkan elemen tersebut kepada pengguna karena itu bukan bagian dari DOM, tetapi kami harus menjadikannya bagian dari DOM dengan menambahkannya ke halaman web Jadi, kami menggunakan beberapa metode seperti append(), dan appendChild() ContohTambahkan elemen yang dibuat menggunakan metode append() Dalam contoh di bawah ini kami membuat dua elemen h3 dan p menggunakan metode document createElement(). Kemudian tetapkan beberapa teks ke elemen ini dan tambahkan elemen ke DOM menggunakan metode append(). Terakhir, tampilkan elemen menggunakan properti innerHTML
ContohTambahkan elemen yang dibuat menggunakan metode appendChild() Pada contoh di bawah ini, kami membuat dua elemen h3 dan p menggunakan metode document createElement(). Kemudian tetapkan beberapa teks ke elemen ini dan tambahkan elemen ke DOM menggunakan metode appendChild(). Terakhir, tampilkan elemen menggunakan properti innerHTML
Sekarang Anda mungkin berpikir bahwa output program di atas adalah sama lalu apa yang membuat kedua program tersebut berbeda? Yah, ya keduanya digunakan untuk menambahkan node ke dokumen HTML tetapi dalam kasus metode append() mengembalikan node yang ditambahkan tetapi metode appendChildI() tidak mengembalikan apa pun Menggunakan metode append() kita dapat menambahkan beberapa elemen sekaligus tetapi dalam metode appendChild() kita hanya dapat menambahkan satu elemen sekaligus Menyukai document.body.append(element1, element2)_ Ini akan melakukan pekerjaan yang sama seperti document.body.append(element1) document.body.append(element2) Menggunakan metode append() DOMString dan DOMNodes keduanya dapat ditambahkan ke elemen induk tetapi dalam kasus metode appendChild() hanya DOMNodes yang dapat ditambahkan ke elemen induk Kemarin, saya menulis tentang Reef, alternatif ringan saya untuk Vue dan React. Selama beberapa hari ke depan, saya ingin melihat bagaimana berbagai bagiannya bekerja di bawah tenda Hari ini, kita akan melihat cara mengambil string HTML dan mengubahnya menjadi markup yang sebenarnya Mengapa Anda membutuhkan iniJika Anda ingin menyuntikkan string ke dalam DOM, Anda dapat melakukannya cukup dengan _Tapi Reef tidak hanya mendorong markup ke dalam sebuah elemen. Itu membandingkan markup yang ada dalam suatu elemen dengan tampilannya, dan hanya memperbarui hal-hal yang perlu diubah Misalnya, jika konten yang ada di dalam 0 adalah ini
Reef hanya akan memperbarui teks di dalam 1 alih-alih membuat elemen yang sama sekali baruAgar itu berfungsi, kita perlu mengonversi string HTML menjadi elemen HTML aktual yang dapat dilalui, dipetakan, dan dianalisis Membuat metode pembantuPertama, mari buat fungsi pembantu yang akan menerima string dan mengembalikan HTML
Pendekatan sederhanaCara paling sederhana untuk melakukannya adalah dengan membuat elemen, masukkan string ke dalam dengan
Namun, pendekatan ini tidak sempurna Meskipun elemen ini terlepas—yaitu, sebenarnya bukan di DOM yang ada—browser akan tetap melakukan hal-hal seperti mengunduh file gambar Ini akan memicu file gambar untuk diunduh, meskipun markup belum ditampilkan di mana pun
Cara yang lebih baikSetelah melakukan banyak penelitian, saya menemukan metode browser asli yang menghindari masalah ini. 3. Objek _3 membuat dokumen DOM baru dari sebuah stringUntuk menggunakannya, Anda membuat instance baru. Kemudian Anda menggunakan metode 5 untuk mengubah string Anda menjadi elemen 6 baru. Metode menerima string sebagai argumen pertama. Setel argumen kedua ke _7Karena ini benar-benar elemen _6 baru, kami akan mengembalikan 9
Sekarang kita dapat melakukan ini, dan tidak ada pengunduhan yang akan dipicu
Menggabungkan dua pendekatanMetode _3 mengagumkan, tetapi metode 5 berhenti di IE10Saya suka menggabungkan dua pendekatan, menggunakan 3 saat didukung, dan mundur untuk membuat elemen dan menggunakan innerHTML saat tidak didukungUntuk menguji dukungan, kami akan menetapkan IIFE ke variabel 4Di dalam IIFE, pertama-tama kami akan memeriksa apakah 5 ada di 6. Jika tidak, kami akan mengembalikan 7. Selanjutnya, kami akan mencoba menggunakan _5 untuk membuat 6. Jika gagal, kami akan mengembalikan 7. Jika tidak, kami akan mengembalikan 1
Di dalam metode _2 kami, kami akan menggunakan 3 jika didukung, dan innerHTML jika tidak didukung
Apa string dalam HTML?Sebuah string dapat berupa teks apa pun di dalam tanda kutip ganda atau tunggal . biarkan carName1 = "Volvo XC60"; . Karakter pertama di posisi 0, yang kedua di 1, dan seterusnya.
Bagaimana Anda menambahkan nilai ke string dalam HTML?Untuk menambahkan menggunakan atribut innerHTML, pertama pilih elemen (div) tempat Anda ingin menambahkan kode. Kemudian, tambahkan kode yang diapit sebagai string menggunakan operator += pada innerHTML .
Bagaimana cara mendapatkan elemen HTML dari string?Menggunakan JavaScript untuk mendapatkan elemen HTML dari sebuah string . biarkan parser = DOMParser baru(); . parseFromString(teks, 'teks/html'); . . [. tautan]. . . const asli = dokumen. . biarkan parser = DOMParser baru(); Apa sintaks yang tepat untuk membuat string?Untuk membuat string, letakkan urutan karakter di dalam tanda kutip tunggal, kutip ganda, atau kutip tiga, lalu tetapkan ke variabel. You can look into how variables work in Python in the Python variables tutorial. For example, you can assign a character 'a' to a variable single_quote_character . |