在php页面中嵌入javascript

在php页面中嵌入javascript,php,Php,我试图将一些JavaScript嵌入到php页面中,以使Jquery正常工作。php位于wordpress站点中。这将最终形成插件的基础。我使用了标记来嵌入对警报函数的调用,这很有效。问题是,如果我尝试添加一些jquery代码,例如$(document).ready(function(){})它不工作,任何后续警报都不工作,没有错误或任何东西 我试过用谷歌搜索这个问题,有很多建议,但都不管用 echo "<script>alert('This works')</script&g

我试图将一些JavaScript嵌入到php页面中,以使Jquery正常工作。php位于wordpress站点中。这将最终形成插件的基础。我使用了
标记来嵌入对警报函数的调用,这很有效。问题是,如果我尝试添加一些jquery代码,例如
$(document).ready(function(){})它不工作,任何后续警报都不工作,没有错误或任何东西

我试过用谷歌搜索这个问题,有很多建议,但都不管用

echo "<script>alert('This works')</script>"

echo "<script>
$(document).ready(function(){

alert('But this doesn't');});
</script>"
echo“警报('此功能')”
回声“
$(文档).ready(函数(){
警报('但这不');});
"

第一个警报显示正常,但第二个警报显示不正常。

在代码中,您有两个问题,首先,您没有终止第一个警报:

echo "alert('This works')"
您必须以
终止否则它将给您
javascript
错误

第二,在您的第二个警报中,您有报价问题,您正在单报价中使用单报价:

alert('But this doesn't'); // remove single quotation from here.
我试过了,效果很好:

echo "alert('This works');"; // terminate the first line
echo "$(document).ready(function(){
alert('But this does not'); 
});";

这真是糟糕的编码。您应该将逻辑层和视图层分离为脚本和模板文件

但是,如果没有其他选项,请尝试使用herdoc字符串:

echo <<<EOT
<script>
    $(function() {
        alert("this will work with > ' < char included");
        alert('this will work with > \' < char included');
        alert('this will work with');
        alert("this will work with");
    });
</script>
EOT;

echo
alert('This works')
必须在php页面中使用
,因为它在html页面中的工作
alert(1)
双引号字符串是在php中解析的。在这种情况下,PHP试图将jQuery$替换为PHP变量。更改为单引号字符串。@WebHQ:同意,他也对第一个警报有异议,因为他没有终止。您是否检查了@banjoquintJS不需要semicolons@Miken32是的,但是你同时回显这两个,你将在控制台中得到一个错误,请重试