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
326
Vastaukset 6
- 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 SDP ei voita reilusti, persut kumoavat demokratian Suomesta
Näin tekisi ainakin Rydman seuratessaan idolinsa Trumpin mallia https://www.is.fi/politiikka/art-2000012187244.html5901424Anteeksi arkuuteni
Olen säälittävä, mitä tulee sinun kohtaamiseen. Tunnen vaan itseni todella epävarmaksi sun kanssa. Jos minun olisi pitän43797Perussuomalaisten kannatus nousi rytinällä Ylen tänään julkaisemassa tuoreimmassa gallup-kyselyssä.
https://yle.fi/a/74-20239449 Perussuomalaisilla hurja- ja ylivoimaisesti suurin nousu tässä uudessa Ylen gallupissa. Kyl470680Kuka melkein täysi-ikäinen hukkui?
Poliisin mukaan nuori oli lähes täysi-ikäinen. Ennen iltakuutta tulleen ilmoituksen mukaan ihminen oli joutunut mahdoll5539- 34519
- 40505
Tykkäätköhän vielä minusta?
Yhtä paljon, kuin minä sinusta? Haaveissa ollaan kahdestaan, rauhassa ja lähennytään fyysisesti ja tutustutaan syvemmin28494Olet ihana
Muru, sä oot ihana. Tunsitko sen sähkön meidän välillä kun oltiin ihan låhekkäin? 👩❤️👩❤️😼😘37490Vihervasemmistofeministinaisasianaiset
Tulevat tänne palstalle haukkumaan miehiä ja naljailemaan miehelle, kehuvat olevansa heitä parempia. Itse asuvat MIEHE151438- 22432