Avatar billede boxer Praktikant
Oprettet i går kl. 17:59 Der er 1 kommentar

Kan man tilføje en css class til en eksisterende class

Hej,

Jeg har googlet flere dage. Men okay, måske ved jeg ikke hvilke ord jeg skal søge på.

Jeg arbejder på mit phpBB forum og vil rigtig gerne finde ud af at tilføje en ekstra css class via php.
Ved godt det kan gøres med js, jeg foretrækker php

Jeg har gjort noget af det med dette stykke code:
case ( $current_hour >= 4 && $current_hour < 6 ):
            $spwclass = "styleedits4";
            $faclass = "fa-code";
            break;

Men det gør ikke helt det jeg gerne vil opnå.
I den eksisterende html har jeg en class der hedder "headerbar".

Kunne man lave det sådan at der via php blev tilføjet en ekstra class så den automatisk kom til at hedde: "headerbar ekstra"
Så vi ender i retning af:
case ( $current_hour >= 4 && $current_hour < 6 ):
            $spwclass = "styleedits4";
            $faclass = "fa-code";
                        $add.extraclass.to.headerbar = "ekstra";
            break;
Avatar billede PeterShy Juniormester
Skrevet i går kl. 22:59 #1
Ja, det kan du godt gøre i PHP. Det handler om at tilføje den ekstra klasse til den eksisterende HTML-klasse, uden at du skal ændre på selve HTML-strukturen direkte. Du kan simpelthen bruge PHP til at tilføje den ekstra klasse til den eksisterende class-attribut.

Her er, hvordan du kan gøre det:

Du skal finde ud af, hvor du genererer den HTML, der indeholder klassen headerbar.
I din PHP-kode kan du så tjekke, hvilken betingelse der er opfyldt (som i dit eksempel, hvor du kigger på $current_hour), og tilføje den ekstra klasse.
For eksempel, du kan skrive noget som dette:

php
Kopiér
case ( $current_hour >= 4 && $current_hour < 6 ):
    $spwclass = "styleedits4";
    $faclass = "fa-code";
    $extraclass = "ekstra";
    break;
Så skal du bruge denne $extraclass variabel, når du renderer din HTML. Det kunne se ud som noget i denne stil:

php
Kopiér
// Eksempel på at tilføje den ekstra klasse i HTML'en
$classes = "headerbar";  // Start med den eksisterende klasse
if (isset($extraclass)) {
    $classes .= " " . $extraclass;  // Tilføj den ekstra klasse, hvis betingelsen er opfyldt
}

echo '<div class="' . $classes . '">';
I dette eksempel starter du med at definere din eksisterende klasse headerbar, og hvis betingelsen i case er opfyldt (f.eks. mellem 4 og 6 om morgenen), så tilføjes ekstra til klassen.

Så det vil ende med, at HTML'en, der bliver genereret, ser sådan ud, når betingelsen er opfyldt:

html
Kopiér
<div class="headerbar ekstra">
Og når betingelsen ikke er opfyldt, bliver den bare:

html
Kopiér
<div class="headerbar">
På den måde tilføjer du den ekstra klasse kun, når du ønsker det, baseret på din PHP-logik.



Du kan ikke direkte ændre eksisterende klasser i HTML'en via PHP, men du kan bygge din klasseattribut dynamisk baseret på betingelser i din PHP-kode.
Brug .= operatoren for at tilføje den ekstra klasse, hvis betingelsen er opfyldt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Sæt professionel døgnvagt på din it-infrastruktur