猿问

如何使用 PHP 将类添加到“a href”元素?

我正在尝试使用 PHP 将“nav-active”类添加到导航元素。这是我的代码,但没有添加该类。可能出了什么问题?


这是我试图更改的代码位,因此我的常见问题解答导航项目具有“nav-active”类:


<li class="nav-item">

            <a class="nav-link" <?php if ($thisPage=="faq") 

echo "class=\" nav-active\""; ?> href="/faq">FAQ</a>

          </li>

这是完整的 nav2.php 代码:



<!-- Navigation -->

  <nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">

    <div class="container">

      <a class="navbar-brand" href="/">Ukryj Się</a>

      <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">

        Menu

        <i class="fas fa-bars"></i>

      </button>

      <div class="collapse navbar-collapse" id="navbarResponsive">

        <ul class="navbar-nav ml-auto">

          <li class="nav-item">

            <a class="nav-link" href="/">O Projekcie</a>

          </li>

            <li class="nav-item">

            <a class="nav-link" <?php if ($thisPage=="faq") 

echo "class=\" nav-active\""; ?> href="/faq">FAQ</a>

          </li>

          <li class="nav-item">

            <a class="nav-link" href="/blog">Blog</a>

          </li>

          <li class="nav-item">

            <a class="nav-link" href="/#signup">Kontakt</a>

          </li>

          <li class="nav-item">

            <a class="nav-link js-scroll-trigger" href="/en/blog">&#127468;&#127463; English</a>

          </li>

        </ul>

      </div>

    </div>

  </nav>

编辑: $thisPage 在 faq.php 文件中声明:


<!DOCTYPE html>

<?php $thisPage="faq"; ?>

<html>


<head>


  <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <meta name="description" content="Wynajmij magiczny dom w lesie z prywatnym dostępem do jeziora, sauną, kominkiem. Pozbądź się ograniczeń, zyskaj niepowtarzalną energię wprost z natury. Uwolnij się od wielkomiejskiego pędu. Pobudź swoją kreatywność.">

  <meta name="author" content="">


慕标5832272
浏览 141回答 3
3回答

慕雪6442864

每个 php 页面的开头:<?php$thisPage="faq"; //Pagename?>纳瓦尔.php:<li class="nav-item"><a href="/faq" class="nav-link <?php if($thisPage=='faq') echo 'nav-active"'; ?>">FAQ</a></li><li class="nav-item"><a href="/contact" class="nav-link <?php if($thisPage=='contact') echo 'nav-active"'; ?>">CONTACT</a></li>

LEATH

类属性只能应用一次。所以你可以收集所有类并将它们放入如下所示:$classes&nbsp;=&nbsp;['nav-link']; if($thisPage&nbsp;==&nbsp;"faq")&nbsp;$classes[]&nbsp;=&nbsp;'nav-active';添加任意数量的数组,然后将数组转换为字符串,但用空格分隔。$classString&nbsp;=&nbsp;join('&nbsp;',&nbsp;$classes);并在 HTML 中输出<a&nbsp;class="<?=$classString?>"&nbsp;href="/faq">FAQ</a>

海绵宝宝撒

类属性只能应用一次。最短的方法是三元运算符。<a&nbsp;class="<?='nav-link'.($thisPage==='faq'?'&nbsp;nav-active':'')?>"&nbsp;href="/faq">FAQ</a>
随时随地看视频慕课网APP
我要回答