为什么这不起作用?这是身体的第一件事:
<?php
if(isset($_POST['submit'])){
echo "<script>$('.classToShow').show();</script>";
}else{
echo "<script>$('.classToShow').show();</script>";
}
?>
Run Code Online (Sandbox Code Playgroud)
classToShow是一个简单的div.它不会显示,它不依赖于布尔条件,它必须是代码...
虽然这有效:
<?php
if(isset($_POST['submit'])){
echo "<script>alert('works');</script>";
}else{
echo "<script>alert('works');</script>";
}
?>
Run Code Online (Sandbox Code Playgroud)
所以简单的JavaScript工作,但jQuery不...这是为什么?
这是你的问题:
这是身体的第一件事
此时,具有类的元素classToShow尚不存在,因此没有任何反应.在运行该代码之前,您应该等待DOM准备就绪.
另一方面,如果您只想在发出POST请求时显示某些内容,可以使用php直接添加它,之后您不需要jQuery来执行此操作.
一个常见的解决方案是直接使用php显示它,然后使用javascript在一定的超时后隐藏消息.