以下代码在控制台中显示错误AddQueue
unexpected token '<'
所以我试过了:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
<div id="e">hi</div>
<script>
// var commentId= "<?php echo $comment_id; ?>";
$(function(){
$("#e").click(function(){
alert("hi");
})
})
</script>
有效。但我不明白为什么下面的评论部分会影响javascript的运行。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
<div id="e">hi</div>
<script>
$(function(){
$("#e").click(function(){
alert("hi");
})
})
</script>
答案 0 :(得分:2)
德里克,
你问题的核心,除了这里所说的是你用//注释掉你的javascript行,然而,这并不能阻止<?php echo $comment_id; ?>
的执行。
所以$ comment_id中的任何值仍然被回显到浏览器。当您使用嵌入式php变量的javascript时,这有时会令人困惑。请记住,php语句在服务器上进行评估和执行,直到脚本存在于浏览器中才会执行javascript。
因此,如果你想对被注释掉的整行发现真的很啰嗦,你可以写:
// var commentId= "`<?php //echo $comment_id; ?>`";
至少在理论上......我实际上没有测试过。
答案 1 :(得分:0)
与我的评论相反,这实际上是一种更好的方法:
var commentId = <?php echo json_encode($comment_id); ?>;
json_encode
实际上能够将JSON可以处理的任何类型转换为JavaScript安全版本 - 数字,字符串,数组,布尔值,空值。