Javascript 如何删除特定的子节点
我有以下代码Javascript 如何删除特定的子节点,javascript,html,dom,event-handling,Javascript,Html,Dom,Event Handling,我有以下代码 函数delete(){ var e=document.getElementById('parent'); e、 移除儿童(如儿童[0]); } 删除 删除 试试这个: function delete(){ $(this).parent().remove() } 您不能将相同的id用于不同的div请看这两行: var e = document.getElementById('parent'); e.removeChild(e.children[0]); 在
函数delete(){
var e=document.getElementById('parent');
e、 移除儿童(如儿童[0]);
}
删除
删除
试试这个:
function delete(){
$(this).parent().remove()
}
您不能将相同的
id
用于不同的div
请看这两行:
var e = document.getElementById('parent');
e.removeChild(e.children[0]);
在这里,您通过其id获取一个元素,id为“父”。
这将始终为您提供div
然后删除e的第一个子元素
您需要一种不同的方法来获取要删除的元素
第一步是看看你的目标
事件处理程序:
function delete(ev){
var target = ev.target;
console.log("the element that was clicked is ", target);
// continue from here
}
这是一个完全有效的例子
功能删除节点(项){
item.parentNode.remove()
}
删除
删除
首先,删除
是一个函数名,您不能将其用作函数名
其次,必须传递被单击元素的引用。这可以通过将This
参数传递给onclick处理程序来实现:
<button onclick="deleteParent(this)"> delete</button>
删除
这将导致以下结果:
<div id="parent">
<div>
<input type="text" placeholder="name">
<button onclick="deleteParent(this)"> delete</button>
</div>
<div>
<input type="text" placeholder="age">
<button onclick="deleteParent(this)"> delete</button>
</div>
</div>
<script>
function deleteParent(btn){
btn.parentNode.remove();
}
</script>
删除
删除
函数deleteParent(btn){
btn.parentNode.remove();
}
您也不应该在多个元素上使用相同的
id
。您将问题标记为“jquery”,但您没有使用jquery。您想使用jquery吗?或者您更愿意使用普通的javascript?您可以通过javascriptthis.parentElement.remove()
尝试此操作。此操作将不起作用,delete
是保留关键字,即使函数名已更改,此
将引用全局对象,而不是按钮。