javascript - 如何使用“this”来定位函数中的特定 div?
问题描述
我做一个购物车网站。我需要为每个产品设置一个删除按钮,并且我想this
每次都调用相同的删除功能。你能帮我理解我做错了什么吗?请原谅我没有使用正确的术语,因为我是编码新手。
这是我删除产品的功能:
function myFunction(element){
var element = document.getElementById("remove");
element.parentElement.parentElement.remove();
}
/// 这是我的产品行代码片段。
<div class="row product">
<div class="buttons">
<i class="fas fa-heart" onclick="myHeart(this)"></i>
<i class="fas fa-times" id="remove" onclick="myFunction(this.element)"></i>
</div>
</div>
每次单击删除图标时,我都需要删除特定的产品行。
解决方案
Change the ID to a class, so it can be reused
<div class="row product">
<div class="buttons">
<i class="fas fa-heart"></i>
<i class="fas fa-times remove"></i>
</div>
</div>
Add event handlers for those elements
var elems = document.querySelectorAll('.remove');
for (i = 0; i < elems.length; ++i) {
elems[i].addEventListener('click', function() {
this.closest('.product').remove();
});
}
推荐阅读
- php - 如何从表单上传多个图像和单个文本
- javascript - 如何在不使用 input.value 的情况下将文本输入到输入中
- java - 当方法的定义说它接受 java.sql.date 作为参数时,方法如何接受 java.sql.timestamp?
- node.js - 为什么安装 puppeteer 后项目上会出现红色的“感叹号”?
- javascript - 如何添加在使用 jspdf 创建的 pdf 中不可见或未呈现的元素(以及 html2canvas)
- java - 如何将此代码转换为准备好的语句?Java + 安卓
- c++ - 当可选子字符串不存在时,避免匹配中的空元素
- angular - 如何使用Angular中的单个切换按钮保持打开多个树列表
- sqlite - 颤振选择返回空sqlite
- python - 使用 SVM 作为图像分类器的精度/F 分数是否有望达到 10%?