0

我正在使用 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>

但是稍后在“Germany”div 已经创建后的代码中,我将对另一个表进行另一个 mysql 查询,并且我想访问“Ge​​rmany”类并在其中添加内容。然后它变成了......

 <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 文件中,该文件会在页面加载时加载所有内容。

4

5 回答 5

2

可以办到。您可以使用输出缓冲来捕获所有输出。然后,您可以使用 HTML DOM 解析器来修改该输出。之后,您可以冲洗该批次。

但这只会工作一次,并且会严重减慢您的脚本速度。不要这样做,它闻起来很糟糕的设计。

于 2012-11-29T08:58:53.383 回答
1

您最好的选择是创建多个变量,例如

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

等等,并且在您构建站点时,只需将信息添加到所需的变量即可。

一旦你到达页面的末尾,以正确的顺序打印它们,你就完成了。

于 2012-11-29T08:57:11.303 回答
0

如果您真的需要重新访问该元素,您可能正在寻找DOM 函数phpQuery

于 2012-11-29T08:58:10.123 回答
0

我认为你可以创建一个像

$div["Amereica"] = "America"

将来您可以将值附加到此数组。例如。

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

最后,您可以使用 implode 函数或使用其他数组函数来创建最终的 html。

于 2012-11-29T09:05:34.977 回答
0

简单的答案是否定的。

您无法更改 PHP 生成的 HTML 代码,因为该代码已经发送到浏览器,并且 PHP 在服务器端运行。

复杂的答案之一是@GolezTrol 答案。

于 2012-11-29T09:09:30.370 回答