我正在尝试编写一个用户脚本来隐藏页面中的某些元素。问题是元素在页面加载后几秒钟才出现,所以我试着用几秒钟的延迟来做。
这是我的代码:
function hide_stuff()
{
var e = document.getElementsByClassName("tab");
if(e)
alert("got elements");
else
alert("didn't get elements");
for( var i = 0; i < e.length; i++){
if (!e[i].id)
e[i].style.display = "hidden";
}
}
setTimeout(hide_stuff(), 5000);
问题是它根本没有延迟。 “got elements”警报(我作为调试辅助工具添加)会在页面加载时立即触发。我看不出我做错了什么,虽然我确定它可能是显而易见的。
任何帮助?
答案 0 :(得分:4)
更改
setTimeout(hide_stuff(), 5000);
到
setTimeout(hide_stuff, 5000);
您没有传递函数,而是立即调用它(并将undefined
传递给setTimeout
)。