我需要在一些javascript代码中添加一个PHP条件,像这样。
<script>
$(document).ready(function() {
<?php if (some condition) {
$('#myID').show();
}
});
</script>
这可能吗?
试试这个
<?php if (some condition): ?>
$('#myID').show();
<?php endif; ?>
你可以把你的脚本放在将渲染你的html的PHP文件中,然后用PHP检查条件。
例如index.php
<html><head></head>
<body>
Your webpage content here
<script type="text/javascript">
$(document).ready(function () {
<?php if(condition) : ?>
$('#myID').show();
<?php else : ?>
$('#mySecondID').show();
<?php endif; ?>
});
</script>
</body>
</html>
如果你想把你的JS放在一个单独的文件中,你可以这样做,并在PHP文件中初始化一些变量,将渲染你的HTML(例如index.php或任何模板文件)的方式与上述相同,这样你就可以从你的.js文件中读取它们。
例如:index.php
<html><head></head>
<body>
Your webpage content here
<?php
$foo = 'foo';
$bar = 'bar';
?>
<script type="text/javascript">
var foo = '<?php echo (condition) ? $foo : $bar ?>';
</script>
</body>
</html>
init.js
$(document).ready(function () {
if(foo == 'foo')
$('#myID').show();
});
当然,如果你在哪里做你的JavaScript是由PHP执行。
<script type="text/javascript">
$(document).ready(function() {
<?php if(some condition) { ?>
$('#myID').show();
<?php } ?>
});
</script>
然而,如果你想动态地做这件事,用Ajax来代替会是一个更好更快的解决方案。
当Php在服务器端执行时,它要输出一些东西。所以当页面加载时,你不会看到php代码。
你应该写你的php代码,当php脚本被执行时,它会呈现JS if条件。
就像这样。
if (something == <?php outputSomeThingToCompare ?>) {
$('#myID').show();
}
或者你也可以试试这个。
<?php if(some condition) { ?>
$('#myID').show();
<?php } ?>
是和不是。
记住,PHP会处理你的页面 服务器端. 所以,如果你想动态地改变JavaScript中的内容,那么是的,你可以这样做。
如果你想让PHP在客户端处理JavaScript中的变量,那么不,这是不可能的。
同样,浏览器对PHP没有任何了解。
是的,这是有可能的,但是你的 <?php
指令似乎没有正确关闭。闭合的 ?>
?
如果你认为你需要这个。
<script>
$(document).ready(function() {
<?php
if (some condition) {
echo('$("#myID").show();');
}
?>
}); //$(document).ready
</script>
取决于文件扩展名。
如果文件扩展名是 php (或其他一些你可能已经把一起运行php代码使用.htaccss规则或apache配置。)就可以了,不是别的。
当然,只要把JavaScript呼应出来就可以了。
<script>
$(document).ready(function() {
<?php if (some condition) {
echo("$('#myID').show();");
}?>
});
</script>
这是不可能的,因为JavaScript是在客户端编译的,但是php是在服务器上工作的。你可以把它改成这样......。
$string = '<script>
$(document).ready(function() {';
if (some condition) {
$string .= '$('#myID').show();';
$string .= '}
});
</script>';';
如果发生错误,请将代码连接起来。