使用包含 php 和 ifs 的 javascript 生成 HTML [关闭]

Posted

技术标签:

【中文标题】使用包含 php 和 ifs 的 javascript 生成 HTML [关闭]【英文标题】:generating HTML with javascript that contains php and ifs [closed] 【发布时间】:2016-05-17 23:58:30 【问题描述】:

我有大量的 html 和 CSS,其中包含一些 php(基于会话的内容),这个 PHP 是必须的。我需要该会话信息(没有 cookie 不会这样做)。

html 和 CSS 是标准 div 我正在查看上一个问题: Is there a best practice for generating html with javascript

这给了我需要的答案,如果我只使用 HTML 和 CSS,但是如果我需要使用 JS if 语句来选择模板的哪些部分需要不同以及如果我需要使用 PHP 怎么办做同样的事情?

我正在将我的代码从繁重的服务器端脚本转移到前端处理中,但问题是我需要在 $.template 中有一些 PHP 和 if 语句(js if 语句)

我可以在 JS 模板系统中使用 PHP 变量吗?如何在模板函数中使用 JS IF 语句?

var moo = 1
var T = $.template('<div>This is code, but what is moo?. if(moo == 1)moo was 1..elsemoo was not 1</div>')

【问题讨论】:

不清楚你在问什么。你没有提供足够的信息让任何人除了猜测之外真的做任何事情。请为您的问题添加更多详细信息 @RiggsFolly 希望这有助于澄清。 为什么不var moo = 1 ? "moo was 1" : "moo was not 1";?然后您可以使用具有正确值的moo。另外,你不能在 JS 文件中使用 PHP,你必须使用 PHP 文件(可以包含 JS)。 @kosmos 抱歉,我想说所有的 if 语句都是 javascript。我的 php 目前工作正常......虽然我在将大量 html/CSS 插入父元素时遇到了重大问题。 【参考方案1】:

正如我所评论的,您可以在使用之前声明并检查您的变量。

例子:

var moo = 2 + 2 == 4 ? "yes moo" : "no moo";
var T = $.template('<div>This is code, but what is moo?. Moo is '+ moo +'</div>');

但如果您正在处理大数据,则应考虑使用字符串变量并根据需要连接新字符串:

var str = "<div>";
if( moo == 4 ) str += "moo equals 4";
else str += "moo NOT equals 4";
str += "</div>";

// And when you have your string completed...
var T = $.template(str);

通过这种方式,您可以轻松连接所有需要的内容。

【讨论】:

是的,这几乎就是我的想法......除了我的问题......无论如何在HTML代码中使用JS if语句? if(moo = 1): htmlcodehere; difhtmlcode; 当然不在 JS 函数中......(只是对我的问题的补充) 是的,您可以使用document.write() 执行此操作,但只能在文档加载时进行。一旦加载,它的使用将清除文档。 (jsfiddle example)。检查 MDN 文档以完成信息:developer.mozilla.org/en/docs/Web/API/document/write

以上是关于使用包含 php 和 ifs 的 javascript 生成 HTML [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

检索数据库条目并将它们放入 php 数组

PHP-if/elese包含

使用 javascript 和/或 php 生成 pdf 的更好方法是啥?

记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门)

无法让javascript和Jquery在functions.php中工作

php判断一个字符串中是不是包含字母?