在jQuery或PHP中创建动态变量

时间:2017-08-13 09:45:22

标签: javascript php jquery variables

我知道已经有一些类似我的问题,但我无法解决他们的问题。

我在外部html文件中获取此代码以将其包含在其他文件中:

<div class="header">
   <h1 class="replace-me">I'am a placeholder</h1>
</div>

&#34;文件&#34;上面包含在这个&#34;文件&#34;:

<h2 style="display: none" class="variable">Hey, I'm a variable</h2>

第二个代码中的变量应该替换第一个代码中h1标记的内容。我知道这不是一个获得免费代码的论坛,我只想要一些灵感或建议。谢谢伙计们!

3 个答案:

答案 0 :(得分:1)

如果您可以控制外部文件,我建议您重写内容,以便外部文件提供某种类型的json对象,并从那里处理您的数据。

否则,使用JQuery从变量中获取html内容并使用该值替换'replace-me'的html内容是一件简单的事。

答案 1 :(得分:1)

你可以用另一个元素的html替换一个元素的html,如下所示:

&#13;
&#13;
$(".replace-me").html($(".variable").html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
   <h1 class="replace-me">I'am a placeholder</h1>
</div>
<h2 style="display: none" class="variable">Hey, I'm a variable</h2>
&#13;
&#13;
&#13;

然而,正如Rama Schneider指出的那样,您可能希望以与html不同的方式获取您的内容。

另请注意,此jQuery解决方案是在客户端完成的。如果您在提供初始HTML时已经知道了内容,那么您希望在服务器端执行此操作。

答案 2 :(得分:0)

如果可以的话,你应该在服务器端解决这个问题。使公共模板成为一个函数,如下所示:

function getHeader($content) { ?>
<div class="header">
   <h1 class="replace-me"><?php echo $content; ?></h1>
</div> <?php
}

在致电$content之前计算function并将其传递给function。如果您无法将其设为function并且您从第三方来源获得此信息,则可以通过Javascript执行此操作,如下所示:

<script type="text/javascript">
    document.getElementsByClassName("header")[0].getElementsByClassName("replace-me")[0].innerHTML = "<?php echo $content; ?>";
</script>

确保在加载标头标记后添加此script