如何使用 PHP 将 class 添加到 "a href" 元素?
How to add a class to an "a href" element using PHP?
我正在尝试向具有 PHP 的导航元素添加“nav-active”class。这是我的代码,但没有添加 class。可能有什么问题?
这是我要更改的代码,因此我的常见问题解答导航项具有“nav-active”class:
<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">🇬🇧 English</a>
</li>
</ul>
</div>
</div>
</nav>
编辑:$thisPage 在 faq.php 文件中声明:
<!DOCTYPE html>
<?php $thisPage="faq"; ?>
<html lang="en">
<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="">
每个 php 页的开头:
<?php
$thisPage="faq"; //Pagename
?>
Navar.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>
class 属性只能应用一次。所以你可以收集所有 classes 并像这样放入它们:
$classes = ['nav-link'];
if($thisPage == "faq") $classes[] = 'nav-active';
想加多少就加多少,然后把数组转成字符串,但是用space.
隔开
$classString = join(' ', $classes);
并输出到你的HTML
<a class="<?=$classString?>" href="/faq">FAQ</a>
class 属性只能应用一次。最短的方法是三元运算符。
<a class="<?='nav-link'.($thisPage==='faq'?' nav-active':'')?>" href="/faq">FAQ</a>
我正在尝试向具有 PHP 的导航元素添加“nav-active”class。这是我的代码,但没有添加 class。可能有什么问题?
这是我要更改的代码,因此我的常见问题解答导航项具有“nav-active”class:
<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">🇬🇧 English</a>
</li>
</ul>
</div>
</div>
</nav>
编辑:$thisPage 在 faq.php 文件中声明:
<!DOCTYPE html>
<?php $thisPage="faq"; ?>
<html lang="en">
<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="">
每个 php 页的开头:
<?php
$thisPage="faq"; //Pagename
?>
Navar.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>
class 属性只能应用一次。所以你可以收集所有 classes 并像这样放入它们:
$classes = ['nav-link'];
if($thisPage == "faq") $classes[] = 'nav-active';
想加多少就加多少,然后把数组转成字符串,但是用space.
隔开$classString = join(' ', $classes);
并输出到你的HTML
<a class="<?=$classString?>" href="/faq">FAQ</a>
class 属性只能应用一次。最短的方法是三元运算符。
<a class="<?='nav-link'.($thisPage==='faq'?' nav-active':'')?>" href="/faq">FAQ</a>