2012-11-29 57 views
0

我創建使用PHP等動態名的div:有沒有辦法訪問以前創建的div?

echo "<div class=\"".$row['country']."\">" 

所以它會首先創建了一系列的div如...

<div class="America"> 
    //stuff goes in here 
</div> 

<div class="Germany"> 
    //stuff goes in here 
</div> 

<div class="Singapore"> 
    //stuff goes in here 
</div> 

但後來在代碼在「德國」div已經創建之後,我將對另一個表進行另一個mysql查詢,並且我想訪問「德國」類並在其中添加內容。它然後變得像...

<div class="Germany"> 
    <p> Germany has x number of people </p> 
    <p> The most popular car in Germany is x </p> 
</div> 

我知道與jquery有append()函數。有什麼類似的PHP在哪裏我可以訪問一個已經創建的div並添加東西給它?

注意:所有這些都在一個php文件中,當加載頁面時會加載所有內容。

回答

0

我想你可以創建一個像

$div["Amereica"] = "America" 

的數組,並在將來你可以附加價值,這個數組。例如。

$div["Amereica"] .= 'text to append'; 

最後,您可以使用implode函數或使用其他數組函數,您可以創建最終的html。

1

你最好的辦法是創建多個變量,例如

$css['America']; 
$css['Germany']; 
$general_output; 

等和,而你正在構建您的網站,只需添加信息到所需的變量。

一旦你到達頁面的末尾,按照正確的順序打印它們,你就完成了。

0

如果你真的需要重新訪問該元素,你可能尋找DOM functionsphpQuery

+1

DOM解析不會允許他更改他已經輸出的內容。 –

+0

@你說得對,當然......我忘了在我的回答中提到,只是想指出提問者正確的方向:) –

2

這是可以做到。您可以使用輸出緩衝來捕獲所有輸出。然後,您可以使用HTML DOM分析器來修改該輸出。之後,你可以沖洗很多。

但是這隻會工作一次,它會嚴重減慢你的腳本。不要這樣做,它聞起來很糟糕的設計。

0

簡單的答案是否定的。

您不能更改PHP生成的HTML代碼,因爲該代碼已發送到瀏覽器,並且PHP在服務器端工作。

複雜答案之一是@GolezTrol答案。

相關問題