检查父容器中的子javascript

检查父容器中的子javascript,javascript,element,Javascript,Element,只是想知道如何检查元素(即div容器)中的元素(即按钮),如果它们存在,将其删除 如果我将一个子项附加到div,我如何在下一次查找时检查该子项或这些类型的子项?i、 e.加入 example=document.getElementById('div'); 例如:儿童(阿布顿); //循环查找示例div中的按钮/按钮类型 干杯您可以使用儿童,然后在儿童中循环。例如,如果您有一个具有以下设置的div: <div id='div'> <input type='button'

只是想知道如何检查元素(即div容器)中的元素(即按钮),如果它们存在,将其删除

如果我将一个子项附加到div,我如何在下一次查找时检查该子项或这些类型的子项?i、 e.加入

example=document.getElementById('div');
例如:儿童(阿布顿);
//循环查找示例div中的按钮/按钮类型

干杯

您可以使用
儿童
,然后在儿童中循环。例如,如果您有一个具有以下设置的div:

<div id='div'>
    <input type='button'> 
    <p>here</p>
    <a href="#"></a>
</div>

要从文档的子集中获取节点类型的元素,只需执行以下操作

document.getElementById('div').getElementsByTagName("button")

这将返回id为“div”的元素下的任何按钮(顺便说一句,这不是一个好的id名称)

获取childNodes数组,循环并查找一个与您的条件匹配的按钮(输入带有类型按钮的标记,或者可能是按钮标记)

var children=example.childNodes;

for(var i=0;iAn exact duplicate of of of of of you’s against using a Javascript framework,如jQuery?它们倾向于使这类任务更简单。@Saul检查一般的子项,以及检查并删除特定类型的子项不是一回事。这与
document.getElementById('div')一样简单.getElementsByTagName(“button”)
@Saul我确实搜索过了,但猜得不够准确..这很有效,只是它找到了一个不是按钮的子项,并删除了该子项,这也是我希望避免的。您仍然需要在删除的部分周围添加一个if块,以影响if(子项[I]。标记名='input'&&children[I]。类型==“按钮”)或者你想删除的任何元素我都能做到。我个人遇到的问题是,随着我的增加,容器的大小随着我删除子元素而变小,因此每次它都会删除大约一半的按钮。magic 1只是我不想触摸的第一个附加的子元素。'var children=buttonContainer.childNodes;var childrenLength=children.length-1;for(var i=0;i@r34ch当你在一个数组中遍历你想要删除的元素时,技巧是向后操作,所以你从最后一个元素开始,朝着第一个元素前进你删除的那个会改变,但既然你已经重复了这些,这就不是问题了。@Anthony我以后会记得的。我今天缺乏常识。。
example.removeChild( children[i] );
document.getElementById('div').getElementsByTagName("button")
var children = example.childNodes;

for(var i = 0; i<children.length; i++){
    if( children[i].tagName == "INPUT" && children[i].type=='button' ) {
        example.removeChild( children[i] );
        i--; //Decrement counter since we are removing an item from the list
    }
}