2 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個贊
的值onclick
應(yīng)該是一個函數(shù),您在進(jìn)行賦值時調(diào)用該函數(shù)。
trash.onclick = function() { del(this) };
另外,thisDiv
是本地的displayPost()
,你不能在 中使用它del()
。你需要使用x.parentElement
.
您在 中還有很多其他拼寫錯誤和小錯誤del()
,請參閱下面的更正。
function displayPost() {
var thisDiv = document.getElementById("posts");
var theDate = document.createElement("P");
theDate.classList.add("post-date");
var trash = document.createElement("BUTTON");
trash.classList.add("post-trash");
trash.innerHTML = '<i class="fa fa-window-close" aria-hidden="true"></i>';
thisDiv.appendChild(theDate);
thisDiv.appendChild(trash);
theDate.innerHTML = new Date();
trash.onclick = function() {del(this);};
}
function del(x){
var delTrash = document.getElementsByClassName("post-trash");
var delDate = document.getElementsByClassName("post-date");
var thisDiv = x.parentElement;
var index = Array.from(delTrash).indexOf(x);
thisDiv.removeChild(delTrash[index]);
thisDiv.removeChild(delDate[index]);
}
<div id="posts">
</div>
<button onclick="displayPost()">Add post</button>

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個贊
如果我答對了你的問題,這可能會對你有幫助。
<div class="container">
<!-- some posts with delete button -->
<div class="post">
Post One
<button class="delete-post">Delete Post</button>
</div>
<div class="post">
Post Two
<button class="delete-post">Delete Post</button>
</div>
<div class="post">
Post Three
<button class="delete-post">Delete Post</button>
</div>
</div>
<script>
window.onload = () => {
let postsDelBtn = document.getElementsByClassName("delete-post");
console.log(postsDelBtn)
for(let i = 0; i < postsDelBtn.length; i++){
postsDelBtn[i].addEventListener('click', (event) => {
event.target.parentNode.remove();
})
}
}
</script>
- 2 回答
- 0 關(guān)注
- 239 瀏覽
添加回答
舉報