这是我的CSS:
#optionHotel{
display:none;
}
这是我的JavaScript:
function cb1(type){
switch(type){
case "hotel":
alert("hotel");
$("#optionHotel").css("display","block");
break;
}
}
这是我的Html:
<div id="optionHotel"> Some Element In here</div>
在“标题”中启动脚本:
<?echo '
<script>window.onload = cb1("'.$orderType.'");</script>
'?>
<!--CSS-->
<link href="../../css/navigate.css" rel="stylesheet"/>
<link href="../../css/reservation.css" rel="stylesheet"/>
将数据从php传递到js是可以的,因为我已经检查了交换机
with alert()没关系,但我不知道为什么.css显示阻止不起作用
请建议,提前谢谢
答案 0 :(得分:7)
您的代码:
<script>window.onload = cb1("'.$orderType.'");</script>
将立即调用cb1()
函数并尝试将其结果指定为window.onload
处理程序。您看到警报,因为该函数确实运行,但由于它从文档头部内部立即运行,因此文档正文尚未被解析,因此脚本无法找到您的元素。
你需要指定一个实际的函数作为处理程序,该函数将在onload上运行,此时将调用cb1()
:
<script>window.onload = function() { cb1("'.$orderType.'"); };</script>
或者,既然您正在使用jQuery,并且假设您在调用函数之前不想等待图像加载,请使用文档就绪处理程序:
<?echo '
<script>
$(document).ready(function() {
cb1("'.$orderType.'");
});
</script>
'?>
...或将脚本移动到正文的末尾并直接调用您的函数:
<?echo '
<script>cb1("'.$orderType.'");</script>
'?>