0

我有一个 index.php 页面,其中包含一个 navBar.inc 页面来呈现顶部导航栏。我也有一个外部样式表。我的目标是通过 PHP 突出显示该导航栏中的当前页面。

我试图实现它,但它没有像我预期的那样工作。

我将 PHP 代码放在 index.php 页面的顶部:<?php $thisPage="About"; ?>

然后在linavBar.inc 文件中的 each 中,我有应该更改 each 的 id 的代码,li例如:<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>><a href="index.php">ABOUT</a></li>

当然,在我的外部 CSS 中,我有:#currentPage {color:black;}

但是当我将文件上传到服务器并试用时,它实际上将 id="currentPage" 写入页面而不是为其分配该 id。此外,每个菜单项之间都有 >。请参阅下面的图片链接。

图片

你能帮我搞定这个工作吗?我想我快到了!谢谢!

注意:这是我第一次接触 PHP。语法有点混乱,但看起来很有趣!

4

1 回答 1

3

您当前正在<li>回显变量之前关闭标记,这意味着它正在呈现id属性和>to 屏幕:

<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
   ^                                                            ^
<a href="index.php">ABOUT</a></li>

您需要将 id 属性放在<li>元素中,如下所示:

<li<?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
<a href="index.php">ABOUT</a></li>

如前所述,您可以使用 javascript/jQuery 完成此操作,但这会起作用。

编辑:

尝试:

#currentPage a { color: black !important; }

这会覆盖您在 .CSS 文件中设置的先前样式。

于 2012-11-20T00:09:02.500 回答