在HTML中扩展JavaScript变量

在HTML中扩展JavaScript变量,javascript,html,Javascript,Html,我试图找到在HTML中扩展JavaScript变量值的方法 我知道可以用PHP实现,如下所示: <?php $myString = "Hello World"; ?> <p><?=$myString?></p> var mystring = 'Hello World'; document.write(` <p>${mystring}</p> <div> some oth

我试图找到在HTML中扩展JavaScript变量值的方法

我知道可以用PHP实现,如下所示:

<?php
   $myString = "Hello World";
?>

<p><?=$myString?></p>
var mystring = 'Hello World';

document.write(`

<p>${mystring}</p>

<div> 
   some other stuff
</div>

`);

在JavaScript中使用类似的本机内联标记也可以这样做吗



我知道其他解决方案,例如调用其他函数,这正是我想要避免的。

仅仅使用像PHP
这样的标记,没有本地方法可以将JavaScript值注入HTML。仅仅使用像PHP
这样的标记,没有本地方法可以将JavaScript值注入HTML。我不知道如何在JavaScript中实现您试图实现的目标

我能想到的最接近的事情是这样的:

var message=“你好世界”;
消息前
文件。书写(信息);

在消息之后,我不知道如何用JavaScript实现您试图实现的目标

我能想到的最接近的事情是这样的:

var message=“你好世界”;
消息前
文件。书写(信息);


在消息
No之后,在浏览器中运行的javascript中,您通常应该访问所需的元素,并通过编程方式添加内容,比如
document.querySelector('p')。innerHTML='Hello World'
。您也可以插入脚本标记并使用
文档。编写
但这几乎是最糟糕的方法。为什么要避免使用函数?功能很好。。。我想你可以用一种非常肮脏的方式,比如document.write('blah-blah');,但这是纯粹的邪恶。顺便说一下,你也不应该用PHP来实现这一点。你的意思是:
a document.write('fff');b
?简短回答:不。长篇回答:@Eiwhaz,因为我在Javascript中使用了大量HTML对象ID,我希望将它们集中起来,而不是分散在HTML文件中的任何地方。使用JavaScript变量进行重构比使用实际的文字要容易得多。不,在浏览器中运行的JavaScript中,通常应该访问所需的元素,并通过编程方式添加内容,比如
document.querySelector('p')。innerHTML='Hello World'
。您也可以插入脚本标记并使用
文档。编写
但这几乎是最糟糕的方法。为什么要避免使用函数?功能很好。。。我想你可以用一种非常肮脏的方式,比如document.write('blah-blah');,但这是纯粹的邪恶。顺便说一下,你也不应该用PHP来实现这一点。你的意思是:
a document.write('fff');b
?简短回答:不。长篇回答:@Eiwhaz,因为我在Javascript中使用了大量HTML对象ID,我希望将它们集中起来,而不是分散在HTML文件中的任何地方。使用JavaScript变量进行重构比使用实际的文字要容易得多,因为向下投票人可以解释问题所在。谢谢@trincot,但是这个解决方案会使我试图实现的内容过于复杂。致以最良好的祝愿。有时,对一个问题的回答不能是“是的,在这里”,因为这是不可能的。同样在这种情况下:答案更像是“不,但看看这个”。尽管如此,它还是对一个是非问题的回答(“有可能吗…?”)。与此同时,我在我的答案中添加了更多的信息。我添加了一个穷人的模板库,以展示这种库的想法。请看一看,再次感谢。我可以看到它在堆栈溢出代码段中工作,但我无法在这个JSFIDLE中工作:也许downvoter可以解释问题所在。谢谢@trincot,但这个解决方案将使我试图实现的内容过于复杂。致以最良好的祝愿。有时,对一个问题的回答不能是“是的,在这里”,因为这是不可能的。同样在这种情况下:答案更像是“不,但看看这个”。尽管如此,它还是对一个是非问题的回答(“有可能吗…?”)。与此同时,我在我的答案中添加了更多的信息。我添加了一个穷人的模板库,以展示这种库的想法。请看一看,再次感谢。我可以看到它在堆栈溢出代码段中工作,但我无法使它在这个JSFIDLE中工作:当然更接近我想要的,但不是我期望的那种速记。无论如何,谢谢你。N@Nicolas我不知道你有什么使用案例,但也许你应该考虑一些胡子模板?!->我试图实现的是在HTML中使用对象ID的Java脚本中创建一个中央存储库(例如,这样做的原因是我的大多数Java脚本访问这些ID来显示/修改布局。当模板很小时,就没有问题,但是我的项目越大,它就变得越困难。我使用TWIG进行模板制作,所以当我使用{%include%}声明,有很多IDclashes@Nicolas为什么不用胡子来代替小枝呢?胡子和树枝一样,但是它有PHP和JavaScript的官方实现,这意味着你可以在前端和后端使用相同的模板。PortofTwig to JavaScript->我一定会看一看。干杯。当然更接近我想要的,但不是我期望的那种速记。无论如何,谢谢。N@Nicolas我不知道你有什么样的用例,但也许你应该考虑一下胡子模板之类的东西?-我想达到的目的是制作一个中央存储库I。在HTML中使用对象ID的Java脚本(例如,这样做的原因是我的大多数Java脚本访问这些ID来显示/修改布局。当模板很小时,就没有问题,但是我的项目越大,它就变得越困难。我使用TWIG进行模板制作,所以当我使用{%include%}声明,有很多IDclashes@Nicolas:为什么不用Must替换树枝
<span class="template">`I want to say "${mystring}"`</span>
<span>I want to say "Hello World"</span>