我有一个网页,上面带有各种iframe
标签。
我想删除该网页上具有可见内容的某个iframe
,但是找不到用于它的选择器,所以我认为删除所有iframe会有所帮助:
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].remove();
}
但是,删除所有iframe
标签带来了另一个问题:
每次我点击旨在打开模式(弹出窗口)的链接时,都会得到空白弹出窗口。
似乎通过删除我网页中的所有iframe
标签,我已经将其他网页中的它们标记为模式或“子网页”。
如何删除仅在当前网页中的所有iframe
标签?
我更喜欢采用全香草方式。
答案 0 :(得分:1)
您可以使用jQuery使用的表达式来测试元素是否可见:
function isVisible(elem) {
return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
}
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
if (isVisible(iframes[i])) {
iframes[i].remove();
}
}