Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t使用jquery'删除元素;s删除()_Javascript_Jquery_Greasemonkey - Fatal编程技术网

Javascript Can';t使用jquery'删除元素;s删除()

Javascript Can';t使用jquery'删除元素;s删除(),javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,我正在为这个网站制作一个greasemonkey脚本:我想删除元素rodape ao vivo,问题是执行$(“#rodape ao vivo”).remove()不起作用 setInterval(function() { $("#rodape-ao-vivo").remove(); }, 1000); 它工作得很好,所以我基本上是请你帮我了解这里发生了什么。也许这只是一件小事,但我睡不着,真的很想把它做完。嗯,也许你想在创建元素之前删除它?(延迟有帮助,因为在这段时间

我正在为这个网站制作一个greasemonkey脚本:我想删除元素
rodape ao vivo
,问题是执行
$(“#rodape ao vivo”).remove()不起作用

setInterval(function() {
        $("#rodape-ao-vivo").remove();
    }, 1000);

它工作得很好,所以我基本上是请你帮我了解这里发生了什么。也许这只是一件小事,但我睡不着,真的很想把它做完。

嗯,也许你想在创建元素之前删除它?(延迟有帮助,因为在这段时间内元素被创建,您可以删除它)

您可能会在元素存在之前尝试删除它。添加一秒钟的延迟将使浏览器有足够的时间渲染元素,因此您可以删除该元素。但它不能保证工作,因为一秒钟可能不足以渲染该元素(例如,连接速度慢)

因此,您应该确保文档准备就绪,jQuery的方法是:

$(function() {
    $("#rodape-ao-vivo").remove();
});
或者,您可以等待整个文档加载:

window.onload = function() {
    $("#rodape-ao-vivo").remove();
}

如果在加载页面时执行此操作,请使用document.ready()包装代码


这个DIV是由脚本动态生成的,要删除它,您需要等待这个元素在DOM中可用,例如,如果由于某种原因其他答案不起作用:{或使用DOM就绪处理程序}

$(window).on('load', function () {
    var interval = setInterval(function () {
        if ($("#rodape-ao-vivo").length) {
            $("#rodape-ao-vivo").remove();
            clearInterval(interval);
        }
    }, 100);
});

请确保在使用之前加载了所有元素。因此,请将代码包装在函数中,以确保元素已附加到
DOM

$("#rodape-ao-vivo").remove(); //will probably will give you an error.

$(function() {
    $("#rodape-ao-vivo").remove();
}
或者

或者

或者

但当你这么做的时候

setInterval(function() {
        $("#rodape-ao-vivo").remove();
}, 1000);

这将给元素一段时间在
DOM
中加载。因此它可以正常工作。但是您可以使用上面列出的函数来代替setInterval,您想在加载时删除它吗?$(function(){(“#rodape ao vivo”).remove();});该元素由脚本附加到文档中,因此在脚本添加该元素之前尝试将其删除是毫无意义的。@Alvaro我使用的是
window.addEventListener(“load”,boot(),false)
boot()
只是删除的东西。哦,还有使用
在文档开始时运行
,我想这是问题的一部分
$( document ).ready(function() {
    $("#rodape-ao-vivo").remove();
})
jQuery( document ).ready(function( $ ) {
    $("#rodape-ao-vivo").remove();
});
window.onload = function() {
    $("#rodape-ao-vivo").remove();
}
setInterval(function() {
        $("#rodape-ao-vivo").remove();
}, 1000);