Vinnaren i pepparkakshustävlingen!
2018-01-15, 10:10
  #1
Medlem
Worldnatures avatar
Hej!

https://jsfiddle.net/9u4andna/2/

Där inne finns koden och i uppgift 4 så ska jag hämta css koden red och göra så att h2 elementen över uppgift 4 ska bli röda, men vet inte hur man ska börja skriva för att hämta ut allting så de elementen över uppgift 4 blir röda alls.

Någon som har tips på hur man ska starta för att hämta ut allting på rätt sett? har försökt men misslyckats så tagit bort koden för var helt ute och cyklade.
Citera
2018-01-15, 10:23
  #2
Medlem
XaoqcHs avatar
Kod:
#step04 h2 {color: red;}

Tips:

hitta koden för rubriken i html-koden, dvs:
HTML-kod:
<h2>Exercise 4</h2>

Fortsätt upp i html-koden på jakt efter kod som gör att du kan identifiera rubriken, dvs:
HTML-kod:
<div id="step04">

Skriv om denna sökväg till en css selektor och du får ("matcha elementet med id "step04" följt av samtliga elementet under den som är h2"):
Kod:
#step04 h2
__________________
Senast redigerad av XaoqcH 2018-01-15 kl. 10:28.
Citera
2018-01-15, 10:40
  #3
Medlem
Worldnatures avatar
Citat:
Ursprungligen postat av XaoqcH
Kod:
#step04 h2 {color: red;}

Tips:

hitta koden för rubriken i html-koden, dvs:
HTML-kod:
<h2>Exercise 4</h2>

Fortsätt upp i html-koden på jakt efter kod som gör att du kan identifiera rubriken, dvs:
HTML-kod:
<div id="step04">

Skriv om denna sökväg till en css selektor och du får ("matcha elementet med id "step04" följt av samtliga elementet under den som är h2"):
Kod:
#step04 h2


//uppgift 4
let redtext = document.querySelector('.red')

let allhtwo = document.createElement('h2')

redtext.appendChild(allhtwo)

let fourDiv = document.getElementById('step04')

let child = fourDiv.childNodes

fourDiv.insertBefore(redtext, allhtwo, child[1,2,3])

gjorde denna kod innan jag läste ditt meddelande, men fungerar inte, ska kolla igenom vad du skrev.

Är det helt fel det jag gjort här annars?

är nybörjare, precis börjat med detta nämligen
Citera
2018-01-15, 10:44
  #4
Medlem
XaoqcHs avatar
Citat:
Ursprungligen postat av Worldnature
//uppgift 4
let redtext = document.querySelector('.red')

let allhtwo = document.createElement('h2')

redtext.appendChild(allhtwo)

let fourDiv = document.getElementById('step04')

let child = fourDiv.childNodes

fourDiv.insertBefore(redtext, allhtwo, child[1,2,3])

gjorde denna kod innan jag läste ditt meddelande, men fungerar inte, ska kolla igenom vad du skrev.

Är det helt fel det jag gjort här annars?


Du försöker ändra textens färg till rött genom javascript, vilket är MYCKET mer komplicerat än att göra det med CSS.
Citera
2018-01-15, 10:45
  #5
Moderator
Protons avatar
Från och med nu kommer alla inlägg som inte följer riktlinjernaq i https://www.flashback.org/announcement.php?f=208 raderas och premieras med varningar i denna tråd.

//Mod
Citera
2018-01-16, 13:31
  #6
Medlem
Uppgiften går ju ut på att bara göra h2-elementet under #step04 rödfärgat, inte samtliga h2-element över #step04. Det borde du kunna uppnå med:

Kod:
document.querySelector('#step04 h2').classList.add('red'); 

Om du verkligen vill ändra alla rubriker upp till 4 (Exercise 1-Exercise 4) så kan du ju alltid köra ovanstående kod flera gånger:

Kod:
for( 1<= 4i++ ) {
    
document.querySelector('#step0' ' h2').classList.add('red');


Det finns förmodligen bättre lösningar. Men det funkar.
Citera
2018-01-17, 10:19
  #7
Medlem
Worldnatures avatar
Citat:
Ursprungligen postat av Nich
Uppgiften går ju ut på att bara göra h2-elementet under #step04 rödfärgat, inte samtliga h2-element över #step04. Det borde du kunna uppnå med:

Kod:
document.querySelector('#step04 h2').classList.add('red'); 

Om du verkligen vill ändra alla rubriker upp till 4 (Exercise 1-Exercise 4) så kan du ju alltid köra ovanstående kod flera gånger:

Kod:
for( 1<= 4i++ ) {
    
document.querySelector('#step0' ' h2').classList.add('red');


Det finns förmodligen bättre lösningar. Men det funkar.


Tack så mycket! Löste sig galant med det!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback