我可以将php代码放在我的php文件中的任何地方,但是如果我把php代码放在标签中它根本就行不通....我做错了什么?
<html>
<head>
<?php
$hello3 = 'hello3';
echo 'hello1';
?>
<script>
<?php echo 'hello2'; ?>
$(document).ready(function(){
$("#target").click(function(){
alert('hello');
});
});
</script>
<?php echo $hello3; ?>
</head>
<body>
<button type="button" id="target">Press Me</button>
</body>
</html>
当我执行此页面时,我会在屏幕上显示:
hello1hello3 (then the button)
脚本标签中的回声根本不会执行......
答案 0 :(得分:2)
这是代码的HTML等价物:
<html>
<head>
hello1
<script>
hello2
$(document).ready(function(){
$("#target").click(function(){
alert('hello');
});
});
</script>
hello3
</head>
<body>
<button type="button" id="target">Press Me</button>
</body>
</html>
您的输出有什么问题?
答案 1 :(得分:0)
是的,这确实执行了。但是除非通过函数或方法完成,否则<script>
标记中的项目不会显示在屏幕上。您在JavaScript中只有hello2;
这样的项目。例如,你会期望看到你是否有这个:
<script>
hello1;
</script>
嗯,屏幕上什么都没有。您只是创建未定义的全局变量,那么会发生什么?尝试添加一些代码,例如一个简单的警报:
<script>
<?php echo 'alert("hello")'; ?>
</script>
在编写PHP时,您echo
的项目与您正常编写JavaScript的项目完全相同。所以编写JavaScript的规则也适用。 PHP执行后,上面的项目看起来像这样:
<script>
alert("hello")
</script>
答案 2 :(得分:0)
在php元素中,PHP的输出如下所示:
hello2 $(document).ready(function(){
$("#target").click(function(){
alert('hello');
});
});
它立即失败(带有引用错误),因为您尝试使用变量hello2
而未声明它。
如果不是原因,它会因为你尝试使用变量$
而没有声明它(即通过在脚本中包含jQuery)而失败。
PHP正在执行。您只是编写PHP,生成完全破解的JavaScript。