我正在使用php创建具有动态名称的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 :(得分:2)
可以做到。您可以使用输出缓冲来捕获所有输出。然后,您可以使用HTML DOM解析器来修改该输出。之后,你可以冲洗这个地段。
但这只会工作一次,会严重降低你的脚本速度。不要这样做,闻起来很糟糕。
答案 1 :(得分:1)
您最好的选择是创建多个变量,如
$css['America'];
$css['Germany'];
$general_output;
等,在构建站点时,只需将信息添加到所需的变量中。
一旦你到达页面的末尾,按照正确的顺序打印它们就完成了。
答案 2 :(得分:0)
如果您确实需要重新访问该元素,那么您可能正在寻找DOM functions或phpQuery
答案 3 :(得分:0)
我认为你可以创建一个类似
的数组$div["Amereica"] = "America"
将来你可以为这个数组附加值。例如
$div["Amereica"] .= 'text to append';
最后你可以使用implode函数或使用其他数组函数来创建最终的html。
答案 4 :(得分:0)
简单的答案是否定的。
您无法更改PHP生成的HTML代码,因为该代码已经发送到浏览器,而PHP在服务器端工作。
一个复杂的答案是@GolezTrol答案。