我正在尝试定位父节点,这是我代码中链接标记(a)的div,我已经尝试过target.parentNode
,但是它不起作用,可能是因为我正在使用querySelectorAll?。到目前为止,我的代码是:
function remove() {
var target = document.querySelectorAll('a[data-type="data"]'), i;
for (i = 0; i < target.length; i++) {
if (target.length > 1) {
target[i].remove();
}
}
}
remove();
HTML:<div class="carousel-slide">
<a data-type="data" data-type="image">
<img class="img-responsive" src="./285-603.jpg">
</a>
</div>
有任何想法吗? 最佳答案
执行querySelectorAll
时出现问题,无需定义i
querySelectorAll将获取所有a[data-type="data"]
,并且该函数将从DOM的节点中删除
编辑:要仅删除父parentNode.remove()
,只需使用forEach函数获取所有a
标记并删除其父。
运行下面的代码段。
function remove() {
var target = document.querySelectorAll('a[data-type="data"]');
target.forEach(function(anchors) {
anchors.parentNode.remove();
console.log('a tag with [data-type="data"] = Deleted')
})
}
remove();
<div class="carousel-slide">
<a data-type="data" data-type="image">
<img class="img-responsive" draggable="false">
Will be deleted
</a>
</div>
<div class="carousel-slide">
<a data-type="no" data-type="image">
<img class="img-responsive" draggable="false">
Will stay
</a>
</div>
关于javascript - 如何获取和删除querySelectorAll的parentNode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62945119/