我正在为这个网站制作一个关于这个问题的例子:http://tinyurl.com/websiteasdasd我要删除元素rodape-ao-vivo
,问题是做$("#rodape-ao-vivo").remove();
不起作用,但是,如果我这样做的话
setInterval(function() {
$("#rodape-ao-vivo").remove();
}, 1000);
它运作得很好,所以我基本上要求你帮助我理解这里发生了什么。也许这只是一个小小的愚蠢的事情,但我很失眠,真的很想完成这件事。
答案 0 :(得分:2)
这个DIV是由脚本动态生成的,要删除它,你需要等到这个元素在DOM中可用,例如,如果由于某种原因其他答案不起作用:{或使用DOM ready handler}
$(window).on('load', function () {
var interval = setInterval(function () {
if ($("#rodape-ao-vivo").length) {
$("#rodape-ao-vivo").remove();
clearInterval(interval);
}
}, 100);
});
答案 1 :(得分:0)
嗯,也许你正试图在创建元素之前将其删除? (延迟有帮助,因为在那个时候元素被创建,你可以删除它)
答案 2 :(得分:0)
您可能尝试在元素存在之前删除它。添加一秒延迟会为浏览器提供足够的时间来渲染元素,因此您可以将其删除。但它不能保证工作,因为一秒钟可能不足以渲染该元素(例如,缓慢连接)。
所以你应该确保文档准备就绪,jQuery的方法是:
$(function() {
$("#rodape-ao-vivo").remove();
});
或者您可以等待加载整个文档:
window.onload = function() {
$("#rodape-ao-vivo").remove();
}
答案 3 :(得分:0)
如果您在加载页面时执行此操作,请使用document.ready();
包装您的代码$(document).ready(function(){$("#rodape-ao-vivo").remove();});
答案 4 :(得分:0)
请确保在使用之前加载所有元素。将代码包装在函数中,以确保元素已附加到DOM
$("#rodape-ao-vivo").remove(); //will probably will give you an error.
$(function() {
$("#rodape-ao-vivo").remove();
}
或者,
$( 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);
这将为你的DOM
提供加载元素的时间。所以它工作正常。但是不使用setInterval你可以使用上面列出的函数