Javascript 在硬加载页面后删除一些dom元素

Javascript 在硬加载页面后删除一些dom元素,javascript,jquery,Javascript,Jquery,我用这段代码删除了一些DOM元素,如果它们位于#点位置之下 有时有效,有时无效 在硬加载页面后(Ctrl-F5)-它将无法工作。元素不会被删除 只需F5-即可 有什么帮助吗 $(document).ready(function(){ var aoff = $('#point').position(); var apoint = aoff.top; $('.bpart').each(function(){ let boff = $(this).positio

我用这段代码删除了一些DOM元素,如果它们位于
#点
位置之下

有时有效,有时无效

在硬加载页面后(
Ctrl-F5
)-它将无法工作。元素不会被删除

只需
F5
-即可

有什么帮助吗

$(document).ready(function(){
    var aoff = $('#point').position();
    var apoint = aoff.top;
    $('.bpart').each(function(){
        let boff = $(this).position();
        let bpoint = boff.top + $(this).height();
        if(bpoint > apoint){$(this).remove();}
    });
});

您提供的关于F5与硬刷新的信息确实有助于缩小问题的范围

问题是您的代码在加载映像之前正在运行。因此,图像元素的高度为0px,这导致JS无法正常工作


要解决此问题,请不要等待
$(文档)。准备好
运行代码之前,请等待
$(窗口)。加载
。这将在页面上的图像已加载后触发。

您的页面是否有图像?硬加载后,浏览器必须再次下载图像,在此期间图像元素的高度为0px。@yts-是的,每个
bpart
都有一个图像,但我希望
document.ready
确保等到图像进入DOM。@qadenza document.ready不等待页面加载。在此处阅读您可以更改为等待页面加载,或者在计算高度之前使用类似imagesLoaded()的库。@yts-如何在没有库的情况下等待页面完全加载(包括图像)?@qadenza使用
$(窗口)。加载
而不是
$(文档)。准备好了吗