我正在尝试创建一个新闻网站(更新现有网站,真的基于CMSMS,它有很多自动生成的代码,似乎会导致各种各样的问题。)无论如何,我正在更新模板,其中,而不是去一个新的网站,其中发布了属于简历的文章,我希望简历隐藏div与简历文本在其中点击“阅读更多”按钮。我知道如何制作切换按钮以及所有这些,问题是在同一页面上的几个简历需要自动在模板中设置的唯一ID。我的想法是通过以下方式生成它们:
<?php $firstId = uniqid(); $secondId = uniqId(); ?>
然后我会这样称呼他们:
<div id="<?php echo $firstId; ?>" class=""> perhaps <span>here </span> or whatevs.</div>
然后类似于第二个Id。这样做的想法是,我将能够通过简单地瞄准$ firstId fx来从JS定位这些Div。
但是,如果我右键单击并使用firebug检查元素,我只需
id="<?php echo $firstId; ?>"
而不是:
id="someUniqueId"
所以问题是如何让它实际解析代码,以便我可以通过ID调用元素?例如将其可见性设置为隐藏。
答案 0 :(得分:0)
无法分辨问题的解决方案,因为它是一个自定义软件。但问题本身很容易识别,PHP不会被解析和执行。这就是为什么你在HTML输出中看到PHP开始和结束标记。
如果您问我,使用uniqid()
似乎是一个坏主意,因为您将无法直接定位JavaScript中的任何元素。此功能的开销也完全没必要。
只需使用一个计数器为您使用任意数字初始化的元素,并使用您输出的每个元素递增它。
答案 1 :(得分:0)
试着考虑一下。
ob_start();
include_once "your_html_with_php_code_file";
$output = ob_get_contents();
ob_end_clean();
$ output将是您需要的东西。
答案 2 :(得分:0)
我最终使用for循环逐个遍历每个元素,以css类为目标,在这种情况下它们只是空的。
因为我可以控制每页显示多少个对象,以及完整文章和摘要的模板,我可以使用简单的数字,确保每次都是唯一的。< / p>
脚本只需遍历页面,即div中包含i&#39; m定位元素的所有按钮,值为0-9。 然后它给包含完整文章的Div包含当前按钮ID + 40的ID,导致它们从40-49开始
然后摘要从20-29开始
然后剩下的代码只是tagerts特定元素,最初使用按钮ID,然后只是减去/添加两个不同变量中的值,以获得文章ID和摘要ID,然后我从那里开始工作。它工作得很好,即使它有点简单。
灵感来自你的回答Fleshgrinder,谢谢:)。