ORDER BY RAND()我使用 PHP foreach 循环从数据库中获取文章:
<?php foreach($posts as $post): ?>
<div class="post" id="post">
<article>
<div class="post-head">
<a href="<?php echo ROUTE; ?>/profile.php/<?php echo $post['user_id']; ?>">
<img class="post-pfp" src="<?php echo ROUTE; ?>/users_pics/<?php echo ($post['profile_pic']); ?>">
</a>
<h1>
<a class="links-3" href="<?php echo ROUTE; ?>/profile.php?user=<?php echo $post['user_id']; ?>"><?php echo $post['post_by']; ?></a>
</h1>
<p class="post-date"><?php echo get_date($post['date']); ?></p>
<div class="x_hover" onclick="hide_post()">
<img src="<?php echo ROUTE; ?>/icons/cross.svg">
</div>
<hr id="post-hr">
<br>
<a href="<?php echo ROUTE; ?>/post.php?p=<?php echo $post['ID']; ?>">
<p class="post-content"><?php echo $post['content']; ?></p>
</a>
</div>
</article>
</div>
<?php endforeach; ?>
正如你所看到的,带有该类的 divx_hover有一个 onclick 属性:
<div class="x_hover" onclick="hide_post()">
<img src="<?php echo ROUTE; ?>/icons/cross.svg">
</div>
该hide_post()函数的作用是这样的:
var post = document.getElementsByClassName("post");
function hide_post(){
if (post[0].style.display = "block") {
post[0].style.display = "none"
}
}
我是 JS 新手,所以我也有一些问题。
我们声明 varpost等于所有类名为“post”的元素,比如我在开头添加的 HTML 代码,有这样的类post:
<div class="post" id="post">
这个div有display: block;属性。然而,当我运行所有这些代码时,它只变成display: none从数据库中为我们带来的第一个元素,它不适用于其余的元素......
为什么会发生这种情况?
暮色呼如
莫回无
慕盖茨4494581