所以,我创建了一个登录页面,然后是主页面。我不希望人们在登录后被重定向到主页面,所以我使用了
$("#login").click(function(){
$.post("homepage.php",function(data){
var title = data.slice(data.indexOf("<title"),data.indexOf("</title>"));
$("html").html(data);
window.history.pushState(data,title,"/homepage.php");
});
});
这很有效,但错误是在homepage.php我有
$("#something").click(function(){
$("#something-else").fadeToggle();
});
并且它不起作用,它会引发异常
VM8714:3 Uncaught TypeError: Cannot read property 'style' of undefined
但我查了一下,点击事件开始了,我做了
$("#something").click(function(){
var display = document.getElementById("something-else").style.display;
if(display == "none") {
document.getElementById("something-else").style.display = "block";
}
else {
document.getElementById("something-else").style.display = "none";
}
});
这很有效。任何想法?
答案 0 :(得分:0)
我尝试根据您提供的信息重现场景,并且工作正常。 的login.php:
<!DOCTYPE html>
<html>
<head>
<title>login.php</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#login").click(function(){
$.post("homepage.php",function(data){
var title = data.slice(data.indexOf("<title"),data.indexOf("</title>"));
$("html").html(data);
window.history.pushState(data,title,"/homepage.php");
});
});
});
</script>
</head>
<body>
<button type="button" id="login">Login</button>
</body>
</html>
homepage.php:
<!DOCTYPE html>
<html>
<head>
<title>homepage.php</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#something").click(function(){
$("#something-else").fadeToggle();
});
});
</script>
</head>
<body>
<p id="something-else">something-else</p>
<button type="button" id="something">something</button>
</body>
</html>
判决是问题的根源在于其他地方。