我有几个可点击的HTML元素,点击后都使用相同的JS功能。
现在当点击其中一个“floor”时,我希望它删除那个“tile”div和“floor”div。
<div class="col">
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
</div>
<div class="col">
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
<div class="tile">
<div class="floor" onclick="killTile()"></div>
</div>
</div>
killTile函数:
function killTile(){
// Play explosion sound effect
xpld.pause();
xpld.currentTime = 0;
xpld.play();
}
答案 0 :(得分:2)
给函数一个参数:
function killTile(which) {
// Play explosion sound effect
xpld.pause();
xpld.currentTime = 0;
xpld.play();
var tilediv = which.parentNode;
tilediv.parentNode.removeChild(tilediv);
}
然后将其称为:
<div class="floor" onclick="killTile(this)"></div>
答案 1 :(得分:1)
为了删除DOM节点,您可以使用removeChild
方法:
function killTile(obj) {
// Play explosion sound effect
xpld.pause();
xpld.currentTime = 0;
xpld.play();
// remove parent node
obj.parentNode.parentNode.removeChild(obj.parentNode);
}
并将obj
传递为:
<div class="tile">
<div class="floor" onclick="killTile(this)"></div>
</div>
答案 2 :(得分:0)
你可以简单地使用它..
function killTile(obj){
// Play explosion sound effect
xpld.pause();
xpld.currentTime = 0;
xpld.play();
obj.parentElement.remove();
}
将其称为onClick =&#34; KillTile(this)&#34;