javascript - 如何动态删除javascript中的元素?
问题描述
有没有办法使用 javascript 或 jquery 动态删除元素。假设我有一个创建新元素的函数 createElements() 和另一个假设删除相应元素的函数 removeElement()。您会注意到,当您运行代码片段时,当您单击删除按钮时,所有元素都消失了!我怎么能实现这个代码?难道没有一个 jquery 选择器,我可以简单地使用 removeElement(this) 或类似的东西吗?任何建议都非常受欢迎:) 谢谢。
function createElements() {
const boom = document.getElementById('boom');
boom.insertAdjacentHTML(
'beforeend', '<div class="newElem"><p >new element created dynamically yay!</p><button onclick="removeElement()">remove</button></div>'
);
}
function removeElement() {
alert('element removed dynamically boOoOoOoOooo!')
$('.newElem').remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="boom">
</div>
<br>
<button onclick="createElements()">Create new element</button>
解决方案
您只需要遵循一个 API。使用纯 JavaScript 或 jQuery。我还建议您使用通畅的方法。此外,您删除元素的方式是错误的。你正在删除一切。
这样看:
$(function() {
$("button#add").click(function() {
$("#boom").after('<div class="newElem"><p >new element created dynamically yay!</p><button class="remove">remove</button></div>');
});
$(document).on("click", ".remove", function() {
alert('element removed dynamically boOoOoOoOooo!')
$(this).closest(".newElem").remove();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="boom">
</div>
<button id="add">Create new element</button>
推荐阅读
- javascript - 命令未执行
- node.js - 如何在 NodeJS 中修复此错误 - “错误:读取 ECONNRESET”?
- python - 获取 numpy 数组中所有值的相等掩码
- python - (单车道桥问题)允许多辆车同时通过
- flutter - 使用继承的小部件传递小部件键
- java - 删除多个级联时出现 ConstraintViolationException
- spring - 无法在任何已知服务器 eureka 上执行请求
- next.js - nextjs 和 nuxtjs 有什么区别?
- avr - 我可以简化我的 C 代码以检查引脚是否已设置吗?
- sparql - SPARQL 未绑定变量 || 如果变量未绑定,则查询绑定变量