如果按下按钮,如何使用 php 隐藏 html 元素?

How to hide an html element with php if a button is pressed?

如果有人单击按钮,我想隐藏一个简单的 div。 'details' var 包含来自 db 的 id。

<div class="greetings" <?php if(isset($_GET['details'])) {echo " style='display: none'"; } ?>
  <p> some text </p>
<div>

但是id不行。我很感激任何建议:)

switch($_GET['details']) {

case 'Yes':
   // do soemthing
   break;
case 'No':
   // do something
   break;
}

我希望这个工作

我认为问题出在您的 HTML 代码的语法中。您缺少用于关闭打开标签的“>”。

<div class="greetings" <?php if(isset($_GET['details'])) {echo " style='display: none'"; } ?>>
  <p> some text </p>
<div>

另一种方式。

<?php
$style = "";
if(isset($_GET['details'])){
    $style = "style='display:none;'";
}?>


<div class="greetings" <?php echo $style;?>>
  <p> some text </p>                       ^ You forgot to close
<div>

用 PHP 可能不是个好主意。 PHP 在您的服务器上运行,这意味着浏览器必须向您的服务器发送请求进行处理,并等待它向您的客户端发回响应以使其工作。对于这么简单的任务来说太过分了。

如果使用 JavaScript,性能会好得多。 JavaScript 在客户端运行,这意味着当按下按钮时,隐藏 div 的动作将在本地处理。无需一路走到服务器,浏览器就可以知道如何继续。

我不是 JS 专家,但如果你用 Angular 来做,你可以在所需的 div 中添加一个 ng-if。 ng-if 仅在特定条件评估为真时才将 html 元素添加到 DOM 。因此,在按钮的 ng-click 方法中,您只需将该条件设置为 false,元素就会从 html.

中消失