Tämä toimii vain osittain:
if (document.getElementsByClassName('header-text')[0].style.display = 'block'){
document.getElementsByClassName('header-text')[0].style.display = 'none'}
else {
document.getElementsByClassName('header-text')[0].style.display = 'block'
}
Eli, yritän testata onko elementti olemassa, ja jos on onko elementin tila (style.display = 'block') jos on asetetaan (style.display = 'none') ja jos elementti on olemassa ja sen tila on (style.display = 'none') asetetaan se tilaan (style.display = 'block')
Tuo kyllä asettaa tilan (style.display = 'none') mutta ei palauta, enkä ole varma testaako se elementin olemassa oloa ollenkaan. Miten se tehdään oikein?
JavaScript if() {} else {}
6
257
Vastaukset
- Anonyymi
Tämä www.w3schools.com sivun esimerkkit ei myöskään toimi tässä https://www.w3schools.com/jsref/jsref_if.asp
- Anonyymi
Muista vertailussa kaksi (tai JS:ssä jopa kolme kannattaa laittaa :D) =-merkkiä!
- Anonyymi
Niin, tarkoitat että vertailussa (==) ja arvon asetuksessa (=), mutta ei kai näin (===).
- Anonyymi
Ei kun:
vertailussa näin:
=== sama arvo ja sama tyyppi
== sama arvo
arvon asetuksessa näin:
=
- Anonyymi
Tämä antaa "Console" editorissa virheen, ellei elementtiä ole, tai elementillä ei ole tuota ominaisuutta.
x = document.getElementsByClassName('header-text')[0].style.display
Miten tuo ominaisuus tulisi selvittää ilman virheitä?
Tämä on sama kysymys kuin avauskin mutta nyt selkeämmin esitettynä.- Anonyymi
Niin, jos elementtiä ei ole, niin sitä on paha mennä muokkaamaan. Style-ominaisuus DOM-elementillä pitäisi aina olla, eli jos elementti vaan löytyy, niin sitten ei pitäisi ongelmia olla. Voit testata löytyikö elementtiä:
let el = document.getElementsByClassName('header-text')[0];
if (el) {
el.style.display = "" //...
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?
Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.3254268Riikka jytkytti naftan hinnan jo yli 2,3 euroon
Sannan aikaan esimerkiksi dieseliä selvästi kalliimpaa bensaakin sai 1,3 eurolla. https://www.is.fi/autot/art-2000011881593966Päivän Sanna: Suomi maailman onnellisin maa
Sanna muutti Suomen maailman onnellisimmaksi maaksi. Hänen pyyteetön työnsä maailmalla tuottaa edelleen tulosta.723368Vasemmiston feministinaiset puolustavat islamia
mikä on täysin järjenvastaista, mutta eihän femakoilla paljon järkeä olekkaan, leijuvat siellä omassa kuplassaan. Myös2342887- 612438
- 341787
Onko jo liian "vanha" vai mitä mieltä olet? 57-v. saa raakaa tekstiä tv:ssä
The Summit Suomi tv-ohjelmassa 57-vuotiaan Maritan jaksamista kyseenalaistettiin iän takia. Onko tässä iässä jo liian "v371466- 431423
- 451305
Suomi edelleen maailman onnellisin maa
Olemme hyvällä tiellä. Laitetaan nyt talous kuntoon.1531219