繁体   English   中英

如何注释与jQuery中的php代码一行的jQuery代码块

[英]how to comment a jquery code block which has a line with php code in jquery

我想注释一个代码块,但我的javascript块中有一行同时具有jquery和php的代码

像这样

jq('.time_slot').each(function(index) {
    var a = jq(this).autocomplete({ 
        serviceUrl:"<? echo $this->config->item('base_url'); ?>business/information/add/autocomplete",
        params: { suggessions_id:28767 }, //aditional parameters
        onSelect:function(value,data){ jq(this).trigger('change');  } 
    });
});

没有这条线

      serviceUrl:"<? echo $this->config->item('base_url'); ?>business/information/add/autocomplete",

我可以使用

/*

*/

但是现在我不能使用它,我也尝试了单行注释,像这样

//jq('.time_slot').each(function(index) {
    //var a = jq(this).autocomplete({ 
        //serviceUrl:"<? echo $this->config->item('base_url'); ?>business/information/add/autocomplete",
       // params: { suggessions_id:28767 }, //aditional parameters
       // onSelect:function(value,data){ jq(this).trigger('change');  } 
   // });
   // });

但是对于这条线

 serviceUrl:"<? echo $this->config->item('base_url'); ?>business/information/add/autocomplete",

它不起作用。

所以我最终得到了一个非常简单的解决方案

 //serviceUrl:"
<? //echo $this->config->item('base_url'); ?>
//business/information/add/autocomplete",

注释我的代码块的最佳方法是什么,请先谢谢您。

在运行时,如果启用了php配置的short_open_tag,则这些脚本包含在<? ?> <? ?>在将html(包含带有注释的所述javascript)发送到浏览器之前,已经由服务器中的php解析器解析。

因此,如果您使用//注释掉该行,从技术上讲应该可以正常工作,因为javascript解析器不会知道该字符串是从php生成的。

确保已启用short_open_tag或使用<?php而不是短标签(<?)

好的,诚然,这并不漂亮,但是如果您想一口气取消混合的PHP和JavaScript,则可以考虑将整个代码块包装在始终返回false的PHP条件下,例如:

<?php if (1 == 0) { ?>
jq('.time_slot').each(function(index) {
    var a = jq(this).autocomplete({ 
        serviceUrl:"<? echo $this->config->item('base_url'); ?>business/information/add/autocomplete",
        params: { suggessions_id:28767 }, //aditional parameters
        onSelect:function(value,data){ jq(this).trigger('change');  } 
    });
});
<?php } ?>

我知道这很丑,但是对于混合代码的大块来说,无疑是快速而有效的。

Afaik没有您提供的更好的解决方案。 PHP和JS注释始终是分开的,您可以将JS注释放入PHP的echo函数中。

PHP解析器将始终尝试在块之间运行代码。

Imho最好的解决方案是使用/ *和* /注释整个JS代码,并使用单行注释来防止PHP运行php代码块。

那已经是最好的方法了。 想不到更好的方法了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM