“我更新代码”。我试图通过调用按钮中的删除函数(请参阅create())以这种方式删除行: 我创建div的功能:
<script type="text/javascript" defer="defer">
function create()
{
var newDiv = document.createElement('div');
newDiv.innerHTML = "<table id='e' border><tr><td><input type='text'><button onclick=del(this.value)</button></td></tr></table>";
// newDiv.className = 'newClass';
document.body.appendChild(newDiv);
}
function del (e) {
if ('function' === typeof e.remove) {
return e.remove();
}
return e.parentNode.removeChild(e);
}
答案 0 :(得分:1)
在JavaScript中就像这样
function delete() {
var element = document.getElementById('elementId');
element.parentNode.removeChild(element);
}
或使用jQuery你可以使用
$('#elementId').remove();
答案 1 :(得分:1)
以下答案解决了原始问题,该问题与添加/删除元素有关。事实上,对于更大的问题,你可能会更好地使用开箱即用的解决方案。看看appendGrid并查看它是否符合您的需求。
要做的就是从函数中返回你的新div。然后,您可以使用div.remove()
将其删除。
function create () {
var newDiv = document.createElement('div');
newDiv.innerHTML = "<table border><tr><td><input type='text'></td></tr><button </table>";
return newDiv;
}
function del (e) {
if ('function' === typeof e.remove) {
return e.remove();
}
return e.parentNode.removeChild(e);
}
var div = create();
document.body.appendChild(div);
// Some other stuff you want to do...
del(div);
答案 2 :(得分:0)
您需要保存对newDiv
的引用或在newDiv.id
结束前设置create()
,然后您可以:
newDiv.parentNode.removeChild(newDiv);
要么:
document.getElementById(newDiv.id).parentNode.removeChild(document.getElementById(newDiv.id));
我认为保存引用是可取的,但我不知道这是否适合您的其余代码。我不确定James提供的建议是否有效,因为据我了解,JS不允许HTML元素自杀,只有杀婴。