【发布时间】:2021-03-12 08:12:49
【问题描述】:
我正在尝试使用 onclick 使按钮删除它所在的 div。我尝试了几种方法(降低可见性,使用 GetElementById,将 outerHTML 设置为 0,但我仍然卡住,希望得到帮助。
我要删除的 div 是顶部的 id 为 "Attraction.$numofatr"
$numofatr 应该是一个数字。
HTML 代码
<div id = "<?php echo "Attraction.R.$numofatr";?>" class = "attraction">
<div class = "atr_image">
<img src="images/oldtown.jpg" alt="">
</div>
<div class= "atr_container">
<button class="button1" id = "<?php echo "R.$numofatr";?> " onclick = "Remove(this.id)">Remove Attraction</button>
</div>
</div>
Javascript 代码
function Remove(elem){
var Attraction = "Attraction" + document.getElementById(elem);
elem.parentNode.removeChild( document.getElementById(Attraction));
//NOTE - I ALSO TRIED OTHER WAYS SUCH AS:
// document.getElementById(Attraction).outerHTML = "";
//document.getElementById(Attraction).style.display="none";
}
注意:我对 stackoverflow 和 Web 开发还是新手。
注2:我认为$numofatr的定义是正确的,问题出在JS命令上。
注意 3:我更改了按钮 div,因为我被告知 html id 不应该是数字。问题依然存在。
注4:这是整个结构。我怀疑缺少任何 div。
<div id="<?php echo "Attraction.R.$numofatr" ; ?>" class="attraction">
<div class="atr_image">
<img src="images/oldtown.jpg" alt="">
</div>
<div class="atr_container">
<div class="atr_name">
<a><?php echo $name; ?></a>
</div>
<div class="atr_region">
<p><?php echo $region;?> </p>
</div>
<div class="atr_desc">
<p><?php echo $desc1; ?></p>
</div>
<div class="atr_time_container">
<div class="atr_time">
<p><?php echo $hours; ?> </p>
</div>
<span class="dot"></span>
<div class="atr_hours">
<p><?php echo $actual; ?></p>
</div>
</div>
<button class="button1" id="<?php echo "R. $numofatr"?> " onclick="Remove(this.id)">Remove Attraction</button>
<script>
function Remove(elem) {
var Attraction = document.getElementById("Attraction" + elem);
Attraction.remove();
}
</script>
</div>
</div>
【问题讨论】:
-
更改此“景点”。 + document.getElementById(elem);到“吸引力”+ elem;而对于删除部分, document.getElementById(Attraction).parentNode.removeChild( document.getElementById(Attraction))
-
这不是错误,但是如果要写正确的htmt,不能以数字开头的ID
-
或者你可以传递
Remove(this.parent.id)并删除按钮ID。 -
@Timberman(仅供参考)如果你想编写 HTML5,你可以(已经消除了几乎所有对 ID 属性的现有限制)-通过 CSS 选择器选择这些元素将但是在这种情况下需要额外的转义,所以不推荐一开始。
-
BTW 按钮元素上方有一个未关闭的
div。
标签: javascript php html button