2017-08-13 103 views
0

我知道已经有几个像我这样的问题,但我无法解决我的问题与他们的解决方案。在jQuery或PHP中创建一个动态变量

我得到了在外部HTML文件的代码把它列入其他文件:

<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> 

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

回答

1

您可以与其他元素的HTML替换一个元素的HTML,像这样:

$(".replace-me").html($(".variable").html());
<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>

然而,拉玛施耐德指出的那样,你可能希望得到您的内容以不同于html的方式。

另请注意,此jQuery解决方案已完成客户端。如果您在提供初始HTML时已经知道内容,则需要执行此服务器端。

1

如果你有对外部文件的控制,我会建议重写一些东西,以便外部文件服务某种类型的json对象并使用你的数据。

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

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标题标签是后加载。