如果我页面上的Div Id不起作用,则会重定向功能

时间:2013-03-13 21:17:07

标签: javascript function redirect

如果在页面内找到div id,我需要重定向页面。

我有这个脚本:

 <script>

 if (!document.getElementById("locationsHolder")) {
 window.location.href = "logged.html";
 }
 </script>

在同一页面上我有这个

 <div class="locationsHolder" id="locationsHolder"></div>

虽然我把一切都搞定了,但它会加载logged.html页面,无论我在getElementById上放了什么id。即getElementById(“notexist”)

5 个答案:

答案 0 :(得分:3)

您应该if (document.getElementById("locationsHolder")),因为如果找到div,您想要做某事。此外,您应该将脚本放在文档末尾或使用jQuery $(document).ready()以确保在运行脚本之前加载整个页面。

答案 1 :(得分:1)

也许这会做你需要的:

<!-- Put the following somewhere in the head block: -->
<script type="text/javascript">
window.onload = function(){
    if(document.getElementById("locationsHolder") == null){
        // Do something here if the ID is NOT found on the page
    }else{
        // Do something here if the ID IS found on the page
        document.location = "logged.html";
    }
};
</script>

答案 2 :(得分:0)

你应该问它是否== null。在开发人员工具中试试这个。

!null - &gt;真

!“” - &gt;真

!document.getElementById(“locationsHolder”)始终为true。

你应该做点什么

!document.getElementById(“locationsHolder”)== null

答案 3 :(得分:0)

你甚至可以在加载页面之前测试div id的存在。 我建议您将脚本放在div id之后,或者仅在onload事件之后调用该调用。

window.onload=function(){
    // your code
}

答案 4 :(得分:0)

是'!'我删除它,脚本是在div id之前。现在它正在发挥作用。

我需要它,因为如果另一个页面包含div id,我希望主页重定向。我在索引文件中有另一个脚本,如果包含div id,它会查找page2,直到我从这个主题创建了这个脚本,检查页面上是否存在div。

所以,这个脚本是一个主页,检查是否在第2页找到div id并将其加载到主页上:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function($){
$('#result').load('Page2.html #intro');
});
</script>
</head>
<body>
<div id="result"></div> 

第2页的代码:

<div id="result"><div id="intro">Hi, this is the Intro!</div></div>

现在来自这个主题的脚本找不到div id“intro”,实际上它不会像下面的脚本搜索'intro'那样加载(并且上面的jquery停止工作),但是如果我从中搜索其他div页面工作必须是冲突。

  <script>

 if (document.getElementById("intro")) {

  window.location.href = "logged.html";
 }
 </script>

有什么问题? 如果page.2包含div id“intro”,可能还有另一种更简单的方法来触发重定向?

我尝试使用此脚本直接从page1触发重定向但不起作用:

<script type="text/javascript"   src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">    </script>
<script type="text/javascript">
if ('page2.html #intro').length === 0){
window.location.href = "logged.html";
}
</script>