Javascript 删除特定标记后的下一个元素

Javascript 删除特定标记后的下一个元素,javascript,dom,Javascript,Dom,我正在尝试创建一个“onclick”函数,只删除特定标记的closer元素 例如: <div> <video src="path/video.mp4"></video> <div>This div must be removed</div> <div>Controls</div> </div> 必须删除此div 控制 在这种情况下,我必须搜索页面中的所有标记“video”

我正在尝试创建一个“onclick”函数,只删除特定标记的closer元素

例如:

<div>
    <video src="path/video.mp4"></video>
    <div>This div must be removed</div>
    <div>Controls</div>
</div>

必须删除此div
控制
在这种情况下,我必须搜索页面中的所有标记“video”,并仅删除下一个div(带有“thisdivmustremove”)。并用“控件”保持div。因此,我必须这样做:

<div>
    <video src="path/video.mp4"></video>
    <div>Controls</div>
</div>

控制
以我现在的方式,我失去了一切:

function remove() {

    var videos = document.getElementsByTagName("video");
    for (var i=0;i<videos.length;i+=1){
          var classe = videos[i].getAttribute("class");

          parentDiv = videos[i].parentNode;
          var classParent = parentDiv.getAttribute("class");
          var arrayClassParent = classParent.split(' ');
          var classParent = arrayClassParent[0];
          var divVideo = document.getElementsByClassName(classParent)[0];

          var cntnt = document.getElementsByClassName(classParent)[i];
          while (cntnt.childNodes.length > 1) {
            cntnt.removeChild(cntnt.lastChild);
          }     
    }
}
函数删除(){
var videos=document.getElementsByTagName(“视频”);
对于(变量i=0;i 1){
cntnt.removeChild(cntnt.lastChild);
}     
}
}

注意:div类和ID设置为变量。。因此,我可以使用ID和类调用它们…

也许您可以使用
nextElementSibling
字段在文档中的每个
视频之后直接访问和删除元素?因此,类似于这一点的东西可能对你有用:

函数removeElementNextToVideo(){
//查询文档中的所有视频元素
for(document.body.queryselectoral('video')的const video){
//对于每个视频,检查并直接删除该元素
//在它后面(旁边)
if(video.nextElementSibling){
video.nextElementSibling.remove();
}
}
}
removeElementNextToVideo()

必须删除此div
控制

在现代浏览器中,您可以使用带有
视频+div的选择器来选择紧跟在视频元素之后的div元素,例如

函数removeDivs(){
document.queryselectoral('video+div').forEach(div=>div.parentNode.removeChild(div));
}
video{高度:10px;边框:1px纯红;}

必须删除此div
控制
必须删除此div
控制

Remove div
是否尝试将类名添加到所有要删除的div,然后
$(“div.Test”)。Remove()?文档可能重复。getElementsByTagName(“视频”)[i]。parentNode.children[2]。remove()或类似的内容:)不清楚是否要删除下一个div,即使它不是下一个同级,或者是下一个同级,即使它不是div。您想要哪一个?@TinyGiant很难发现,看,它定义为iterable的位置。我真的不喜欢当前的“生活标准”,它不告诉你什么时候引入了功能或版本之间的变化(似乎每天都会发布)。@RobG谢谢你——我已经更新了答案,为这两种情况提供了解决方案