Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除在javascript中创建的特定元素?_Javascript_Html_Removechild - Fatal编程技术网

如何删除在javascript中创建的特定元素?

如何删除在javascript中创建的特定元素?,javascript,html,removechild,Javascript,Html,Removechild,我正在做一些我自己使用的东西,这将使我能够快速而轻松地堆叠命令(用于Minecraft命令块创建) 我已经创建了一个按钮来创建新的文本区域和一个按钮来删除它们。假设有几个文本创建,我怎么能在它们中间删除一个特定的文本框(用按钮来删除它们)?< /P> 我有一个div元素作为父元素,并且实际上能够成功地删除textarea和button。我的问题是,即使删除了一个,我也无法创建更多。我注意到框中的文本会向左移动 职能: function removeBox() { var

我正在做一些我自己使用的东西,这将使我能够快速而轻松地堆叠命令(用于Minecraft命令块创建)

我已经创建了一个按钮来创建新的文本区域和一个按钮来删除它们。假设有几个文本创建,我怎么能在它们中间删除一个特定的文本框(用按钮来删除它们)?< /P> 我有一个div元素作为父元素,并且实际上能够成功地删除textarea和button。我的问题是,即使删除了一个,我也无法创建更多。我注意到框中的文本会向左移动

职能:

function removeBox() {
            var div = document.getElementById("newText");
            var cats = document.getElementsByClassName("tAC");
            var catss = document.getElementsByClassName("tACB");
            div.removeChild(cats[0]);
            div.removeChild(catss[0]);
        }
不要因为我给猫起名就评价我! 分区:

<div id="newText">
    <textarea class="tAC" id="firstText"></textarea>
    <p></p>
</div>


有什么想法吗?

根据你发布的内容,我建议这样做

每当创建新的
textarea
时,在保存
textarea
的div中创建一个新的
按钮。通过这种方式,当单击移除按钮时,您可以使用
event.target
获取发送事件的按钮元素,从那里您可以使用
event.target.previousSibling
查找
textarea
并通过调用
event.target.parentNode
上的
removeChild
将其从DOM中移除。我不确定这是否是您所期望的,因此我没有共享代码。

这是一个示例:

HTML:


JS:

var cont=document.getElementById(“容器”);
cont.innerHTML+=“b1b”+
“b2b”+
“b3b”;
window.deleteMe=函数(elementId){
log(“Borrando:”,elementId);
getElementById(elementId).remove();
};
这就是它的样子:


其思想是能够识别元素,这就是为什么为需要操作的元素设置
id
非常有用的原因。希望它能激励您。

我刚刚尝试了您的设置,它似乎工作正常:

函数removeBox(){
var div=document.getElementById('new-text');
var cats=document.getElementsByClassName(“tAC”);
var catss=document.getElementsByClassName(“tACB”);
var cats0=猫[0];
var catss0=catss[0];
移动儿童分部(cats0);
远程儿童分部(catss0);
}
var button=document.getElementsByTagName('button')[0]
按钮。addEventListener('click',removeBox,false)
#新文本{
宽度:200px;
}
#新文本p{
显示:内联块;
宽度:100px;
}
#新文本{
浮动:左;
}
#新文本{
浮动:对;
}
钮扣{
明确:两者皆有;
}

cats0

catss0

cats1

catss1

cats2

catss2


点击我
顺便说一句,javascript不是有效的代码,我改变了它。在使用arrays.where使用removeBox()之前,此函数中是什么?代码中是什么?您需要向我们展示一些实际执行某些操作的代码。这里的上下文太少了。好吧,这就是我在尝试不合逻辑的事情时开始编写的代码。我更改了textareas和buttons用作引用节点的元素,但是文本移位的问题(现在我需要帮助)。我很确定第一个文本区域正在被删除。
<div id="container"></div>
var cont = document.getElementById("container");
cont.innerHTML += "<button id='b12' onclick='deleteMe("+'"b12"'+")'>b1b</button>"+
    "<button id='b22' onclick='deleteMe("+'"b22"'+")'>b2b</button>"+
    "<button id='b32' onclick='deleteMe("+'"b32"'+")'>b3b</button>";

window.deleteMe = function (elementId){
console.log("Borrando:", elementId );
document.getElementById(elementId).remove();
};