【发布时间】:2019-01-04 09:10:59
【问题描述】:
我正在尝试制作一个“onclick”功能来仅删除特定标签的更接近的元素!
例如:
<div>
<video src="path/video.mp4"></video>
<div>This div must be removed</div>
<div>Controls</div>
</div>
在这种情况下,我必须搜索页面中的所有标签“视频”并仅删除下一个 div(带有“此 div 必须删除”)。并保持 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);
}
}
}
注意:div 类和 ID 是设置变量。所以我可以使用 ID 和类来调用它们...
【问题讨论】:
-
您是否尝试将类名添加到要删除的所有 div 然后
$("div.Test").remove();? -
document.getElementsByTagName("video")[i].parentNode.children[2].remove() or sth like this :)
-
不清楚是否要删除下一个 div,即使它不是下一个兄弟,还是下一个兄弟,即使它不是一个 div。你要哪个?
标签: javascript dom