-2

我正在使用以下 JS 来定位 ID 为“someID”的元素,然后在 6 秒后重定向。我只希望它在存在此元素 ID 的页面上工作,但现在它会重定向它应用到的所有页面。我在这里做错了什么?

if (!document.getElementById("someID")) {
            setTimeout(function () {
             window.location.href = "http://www.somesite.com"; 
        }, 6000); 

};
4

2 回答 2

2

我的猜测是您没有等到实际元素加载完毕。

如果您的代码位于页面头部,则需要将其包装在 onload 中,以使脚本在元素可用之前不会执行:

window.onload=function(){
 if (document.getElementById("someID")) {
   setTimeout(function () {
     window.location.href = "http://www.somesite.com"; 
   }, 6000); 
  }     
}
于 2012-06-09T18:00:16.487 回答
0
if (document.getElementById("someID") != null) {
            setTimeout(function () {
             window.location.href = "http://www.somesite.com"; 
        }, 6000); 
};
于 2012-06-09T17:23:24.340 回答