我是 JavaScript 新手,想知道如何洗掉您附加的影像?
錯誤訊息是:TypeError: document.getElementById(...) is null
let myCars = new Array();
let positionTop = 100;
function addCar(){
var img = document.createElement("img");
img.src = "/res/Car.png";
img.style.position = "absolute";
img.style.top = positionTop "px";
img.style.left = "25px";
positionTop = 100;
myCars.push(img);
document.getElementById("car").appendChild(img);
}
function deleteCar(){
document.getElementById(myCars[myCars.length - 1]).remove; // TypeError
myCars.splice(myCars.length - 1, 1);
}
uj5u.com熱心網友回復:
您已經將整個影像元素推送到myCars陣列中。
因此,您可以直接從中洗掉image它,因為它具有影像的參考。
function deleteCar(){
myCars[myCars.length - 1].remove();
myCars.splice(myCars.length - 1, 1);
}
uj5u.com熱心網友回復:
您的影像沒有 id,因此您可以直接選擇影像并將其洗掉。
document.getElementById(myCars[myCars.length - 1])是一個無效的語法,因為myCars它是一個 DOM 元素的串列。如果您訪問myCars[index]它將回傳一個 DOM 元素,因此document.getElementById(myCars[myCars.length - 1])將是無效的語法。由于myCars[myCars.length - 1]已經回傳一個 DOM 元素,你可以簡單地呼叫remove()同一個節點,就像myCars[myCars.length - 1].remove();
let myCars = new Array();
let positionTop = 100;
function addCar() {
var img = document.createElement("img");
img.src = "/res/Car.png";
img.style.position = "absolute";
img.style.top = positionTop "px";
img.style.left = "25px";
positionTop = 100;
myCars.push(img);
document.getElementById("car").appendChild(img);
}
function deleteCar() {
myCars[myCars.length - 1].remove();
myCars.splice(myCars.length - 1, 1);
}
<div id="car"></div>
<button onclick="addCar()">Add Car</button>
<button onclick="deleteCar()">Delete Car</button>
uj5u.com熱心網友回復:
你想從陣列還是從 DOM 元素中洗掉影像?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504651.html
標籤:javascript
