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;
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.
Synes godt om
Ny brugerNybegynder
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.