在 HTML 中,圖片元素用於在網頁上顯示圖片。依需求取多個屬性,如‘src’、‘alttext’、‘height’、‘width’等。
在某些情況下,我們需要動態新增圖片到網頁中。例如,我們在資料庫中儲存了未知數量的電影資料。我們需要獲取電影數據,並且需要顯示電影圖像以及每部電影的詳細資訊。在這種情況下,我們需要使用 JavaScript 將圖像和資料附加到 DOM。
在下面,我們將學習使用JavaScript為網頁新增圖像元素。
document.createElement() 方法使用 JavaScript 建立任何 HTML 元素。它將標籤名稱作為參數並傳回 HTML 元素。
在JavaScript中建立HTML元素後,我們可以修改其各種屬性並將其附加到DOM以在網頁上顯示圖像。
使用者可以依照下面的語法使用 document.createElement() 方法動態建立圖片元素。
let dynamicImage = document.createElement('img'); dynamicImage.src = URL;
在上面的語法中,我們使用 createElement() 方法建立了圖像元素,並更新了圖像元素的「src」屬性。
在下面的範例中,我們首先建立了圖像元素。之後,我們用我們想要在網頁上顯示的圖像 URL 更新了它的「src」屬性。
接下來,我們使用 id 從 DOM 存取預先定義的 div 元素,並使用appendChild() 方法將新建立的映像附加為 div 元素的子元素。
在輸出中,使用者可以觀察到圖像是使用 JavaScript 新增的。
<html> <body> <h3>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>
在下面的範例中,我們建立了按鈕。每當使用者點擊該按鈕時,它就會執行 createImage() 函數。
在createImage()函數中,我們使用createElement()方法建立一個新的圖像元素並更新其「src」屬性值。此外,我們使用 setAttribute() 方法來設定影像的 id、高度和寬度。
在輸出中,使用者可以點擊按鈕查看 200 x 200 尺寸的圖像。但是,使用者可以更改程式碼中的尺寸並運行程式碼來觀察輸出。
<html> <body> <h3>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>
image() 是一個建構函數,用於在 JavaScript 中建立映像元素的實例。我們使用帶有“new”關鍵字的建構函式在 JavaScript 中建立映像的實例並將其附加到 DOM 物件。
使用者可以依照下列語法使用 Image() 建構子透過 JavaScript 建立圖像。
Let img = new Image(); img.src = URL;
在上面的語法中,我們使用 image() 建構子建立了圖像元素的實例,並更新了其 src 屬性的值。
在下面的範例中,當使用者按一下按鈕時,它會執行 createImage() 函數以動態附加到 DOM。
在 createImage() 函數中,我們使用 Image() 建構函式初始化映像實例,然後更新其 src 屬性的值。此外,我們透過更新屬性值來設定圖像的寬度和高度,並將其附加為 div 元素的子元素。
<html> <body> <h3>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>
在下面的範例中,我們使用 JavaScript 將多個圖像附加到網頁。
在 addMultiple() 函數中,我們有一個圖像 url 陣列。我們遍歷數組,並在每次迭代中建立一個新的圖像元素,使用給定的來源 URL 更新 src 屬性,並將其附加到 DOM。
在輸出中,使用者可以點擊按鈕在網頁上看到五個動態圖像。此外,每次使用者按一下該按鈕時,都會變更圖像。
<html> <body> <h3>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>
我們學習了兩種將圖像動態附加到 Dom 元素的方法。 createElement() 方法建立任何 HTML 元素的實例,包括圖像元素。 image() 建構子僅用於建立圖片元素的實例,而不用於建立其他 HTML 元素。
另外,如上個例子,我們在即時開發中可能會得到一個圖片URL數組,需要在網頁中追加多張動態圖片。
以上是如何使用JavaScript動態建立影像元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!