2017-08-13 68 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標題標籤是後加載。