我有很難試圖讓無論是id或src影像,我有顯示使用下面的方法。
首先,我有 div 元素:
<div id="FeedImages"; class="imageFeed"></div>
然后我遍歷存盤在資料庫中的影像,如下所示:
temp2=0;
do{
var img = document.createElement("img");
img.setAttribute("src",ImagePath);
img.setAttribute("id",temp2);
document.getElementById("FeedImages" i).appendChild(img);
temp2 ;
}while(temp<100);
從某種意義上說,代碼運行良好,可以按我的意愿顯示影像。但我也想擁有可以洗掉影像的功能,為此我需要獲取id或洗掉src任何影像。我嘗試只添加onclick="test(this.id)";到div,其中函式只會發出警報clicked id,但結果總是作為undefined. 肯定應該有同樣的方式出去id=temp2,但我發現這很復雜,因為所有錯誤的原因。有人可以分享想法嗎?
uj5u.com熱心網友回復:
img在創建時將 onclick 屬性添加到。您可以將點擊事件傳遞給它呼叫的函式,并id從e.target點擊事件目標中獲取。
var img = document.createElement("img");
img.setAttribute("src", "https://picsum.photos/200/300");
img.setAttribute("id", "tempId");
img.setAttribute("onclick","deleteImg(event)")
document.getElementById("FeedImages").appendChild(img);
function deleteImg(e) {
console.log(e.target.id)
// do something with the id
}
<div id="FeedImages"></div>
uj5u.com熱心網友回復:
為此,您需要將影像和按鈕包裝在一個 div 中,向其添加一個環境監聽器并洗掉父節點 (div)。
const ImagePath = setImageArray();
let temp = 0;
do {
const div = document.createElement("div");
const img = document.createElement("img");
img.setAttribute("src", ImagePath[temp]);
img.setAttribute("id", temp);
const butn = document.createElement("button");
butn.addEventListener('click', e => {
e.target.parentElement.remove();
});
butn.innerHTML = 'X';
div.appendChild(img);
div.appendChild(butn);
document.getElementById("FeedImages").appendChild(div);
temp ;
} while (temp < 10);
//Setting array img source for demonstration purpose
function setImageArray() {
let arr = [];
for (let i = 0; i < 10; i ) {
arr.push(i.toString())
}
return arr
}
<div id="FeedImages" class="imageFeed"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/334088.html
標籤:javascript html
