如果在页面内找到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”)
答案 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>