


Bagaimana untuk mencipta elemen imej secara dinamik menggunakan JavaScript?
Aug 24, 2023 pm 06:21 PMDalam HTML, elemen imej digunakan untuk memaparkan imej pada halaman web. Dapatkan berbilang atribut mengikut keperluan, seperti 'src', 'alttext', 'height', 'width', dsb.
Dalam sesetengah kes, kita perlu menambahkan imej secara dinamik pada halaman web. Sebagai contoh, kami menyimpan jumlah data filem yang tidak diketahui dalam pangkalan data. Kami perlu mendapatkan data filem dan kami perlu memaparkan imej filem bersama dengan butiran setiap filem. Dalam kes ini, kita perlu menggunakan JavaScript untuk menambahkan imej dan data pada DOM.
Seterusnya, kita akan belajar menggunakan JavaScript untuk menambah elemen imej pada halaman web.
Gunakan kaedah Document.createElement()
Kaedahdocument.createElement() mencipta sebarang elemen HTML menggunakan JavaScript. Ia mengambil nama teg sebagai parameter dan mengembalikan elemen HTML.
Selepas mencipta elemen HTML dalam JavaScript, kami boleh mengubah suai pelbagai atributnya dan menambahkannya pada DOM untuk memaparkan imej pada halaman web.
Tatabahasa
Pengguna boleh menggunakan kaedah document.createElement() untuk mencipta elemen imej secara dinamik mengikut sintaks berikut.
let dynamicImage = document.createElement('img'); dynamicImage.src = URL;
Dalam sintaks di atas, kami mencipta elemen imej menggunakan kaedah createElement() dan mengemas kini atribut "src" bagi elemen imej.
Contoh
Dalam contoh di bawah, kami mula-mula mencipta elemen imej. Selepas itu, kami mengemas kini atribut "src"nya dengan URL imej yang ingin kami paparkan pada halaman web.
Seterusnya, kami mengakses elemen div yang dipratentukan daripada DOM menggunakan idnya dan menambahkan imej yang baru dibuat sebagai anak kepada elemen div menggunakan kaedah appendChild().
Dalam output, pengguna boleh melihat bahawa imej ditambah menggunakan JavaScript.
<html> <body> <h3 id="Using-the-i-document-createElement-method-i-to-Create-image-element-dynamically-using-JavaScript">Using the <i> document.createElement() method </i> to Create image element dynamically using JavaScript </h3> <div id = "img"> </div> <script> let img = document.getElementById('img'); // Create image element let dynamicImage = document.createElement('img'); // Initialize the image source dynamicImage.src = "https://www.tutorialspoint.com/static/images/logo.png"; // Add image to DOM img.appendChild(dynamicImage); </script> </body> </html>
Contoh
Dalam contoh di bawah, kami mencipta butang. Setiap kali pengguna mengklik butang, ia melaksanakan fungsi createImage().
Dalam fungsi createImage(), kami menggunakan kaedah createElement() untuk mencipta elemen imej baharu dan mengemas kini nilai atribut "src"nya. Selain itu, kami menggunakan kaedah setAttribute() untuk menetapkan id, ketinggian dan lebar imej.
Dalam output, pengguna boleh mengklik butang untuk melihat imej dalam saiz 200 x 200. Walau bagaimanapun, pengguna boleh menukar dimensi dalam kod dan menjalankan kod untuk memerhatikan output.
<html> <body> <h3 id="Using-the-i-document-createElement-method-i-to-Create-image-element-dynamically-using-JavaScript">Using the <i> document.createElement() method </i> to Create image element dynamically using JavaScript </h3> <div id = "img"> </div> <button id = "addImage" onclick = "createImage()"> Create Image </button> <script> function createImage() { let img = document.getElementById('img'); let newImage = document.createElement('img'); newImage.src = "https://www.tutorialspoint.com/static/images/simply-easy-learning.png"; // Set attribute values for the image newImage.setAttribute('id', 'myImage'); newImage.setAttribute('width', '200px'); newImage.setAttribute('height', '200px'); img.appendChild(newImage); } </script> </body> </html>
Gunakan pembina Imej()
image() ialah pembina yang digunakan untuk mencipta contoh elemen imej dalam JavaScript. Kami mencipta contoh imej dalam JavaScript menggunakan pembina dengan kata kunci "baru" dan melampirkannya pada objek DOM.
Tatabahasa
Pengguna boleh mencipta imej melalui JavaScript menggunakan pembina Image() mengikut sintaks berikut.
Let img = new Image(); img.src = URL;
Dalam sintaks di atas, kami mencipta contoh elemen imej menggunakan pembina image() dan mengemas kini nilai atribut srcnya.
Contoh
Dalam contoh di bawah, apabila pengguna mengklik butang, ia melaksanakan fungsi createImage() untuk menambahkan secara dinamik pada DOM.
Dalam fungsi createImage(), kami memulakan contoh imej menggunakan pembina Image() dan kemudian mengemas kini nilai atribut srcnya. Selain itu, kami menetapkan lebar dan ketinggian imej dengan mengemas kini nilai atribut dan melampirkannya sebagai anak kepada elemen div.
<html> <body> <h3 id="Using-the-i-Image-constructor-i-to-Create-image-element-dynamically-using-JavaScript">Using the <i> Image() constructor </i> to Create image element dynamically using JavaScript</h3> <div id = "img"> </div> <button id = "addImage" onclick = "createImage()"> Create Image </button> <script> function createImage() { let img = document.getElementById('img'); let devImage = new Image(); devImage.src = "https://www.tutorialspoint.com/static/images/development.svg"; devImage.setAttribute('width', '300px'); devImage.setAttribute('height', '300px'); img.appendChild(devImage); } </script> </body> </html>
Contoh
Dalam contoh di bawah, kami menggunakan JavaScript untuk melampirkan berbilang imej pada halaman web.
Dalam fungsi addMultiple(), kami mempunyai pelbagai url imej. Kami mengulangi tatasusunan dan pada setiap lelaran mencipta elemen imej baharu, mengemas kini atribut src dengan URL sumber yang diberikan dan menambahnya pada DOM.
Dalam output, pengguna boleh mengklik butang untuk melihat lima imej dinamik pada halaman web. Selain itu, imej berubah setiap kali pengguna mengklik butang.
<html> <body> <h3 id="Using-the-i-Image-constructor-i-to-Create-image-element-dynamically-using-JavaScript">Using the <i> Image() constructor </i> to Create image element dynamically using JavaScript</h3> <div id = "img"> </div> <br> <br> <button id = "addImage" onclick = "AddMultiple()"> Add Multiple Images </button> <script> function AddMultiple() { let img = document.getElementById('img'); let imageURLS = [ "https://picsum.photos/200/300", "https://picsum.photos/200/300/?blur", "https://picsum.photos/200/300.webp", "https://picsum.photos/200", "https://picsum.photos/200/300" ] // Fetch random images and append to the DOM for (let i = 0; i < 5; i++) { let randomImage = new Image(); randomImage.src = imageURLS[i]; randomImage.alt = "Random Image"; randomImage.width = 100; randomImage.height = 100; // Add right and left margin to the image randomImage.style.marginRight = "10px"; randomImage.style.marginLeft = "10px"; img.appendChild(randomImage); } } </script> </body> </html>
Kami mempelajari dua cara untuk melampirkan imej secara dinamik pada elemen Dom. Kaedah createElement() mencipta contoh mana-mana elemen HTML, termasuk elemen imej. Pembina image() hanya digunakan untuk mencipta contoh elemen imej, bukan elemen HTML lain.
Selain itu, seperti dalam contoh sebelumnya, kami mungkin mendapat pelbagai URL imej semasa pembangunan masa nyata dan perlu menambah berbilang imej dinamik pada halaman web.
Atas ialah kandungan terperinci Bagaimana untuk mencipta elemen imej secara dinamik menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
