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
283
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
Petteri Orpo on satusetä
Väittää että työllisyys on Suomessa samalla tasolla kuin hallituksen aloittaessa kesällä 2023. Fakta on, että työllisi422998Kauppalehti - Törkeä skandaali paljastui: Espanja käytti EU-rahoja ihan muuhun kuin piti
Espanja on käyttänyt miljardeja euroja EU:n elpymisavustuksia eläkkeisiin ja sosiaalimenoihin – ja pyytää lisää. Espanj872906SDP pelastaa uppoavan Suomen
2027 kun SDP voittaa ylivoimaisesti vaalit alkaa Suomen uusi raju syöksy kohti täystyöllisyyttä ja turvallisempaa yhteis1602812Jopa Espanjassa talous kasvaa, Purra vain irvistelee
Huomaa kuinka Purra on Suomen historian huonoin miniseteri, joka ei ole saanut aikaiseksi kuin tuhoa, Siis jopa vasemmis2012105- 1121978
Orpo ja Purra, käykää hakemassa oppia Espanjasta
Espanja on näyttänyt kuinka kova työttömyys nujerretaan ja saadaan maan talous palautettua nousu-uralle. Ei ole häpeä kä151963Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle
Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi501579Tsemii Pete ja Linda! Tässä tärkeät kellonajat Euroviisut-viikon ohjelmista tv:ssä!
Euroviisut järjestetään Wienissä Itävallassa 12.-16. toukokuuta. Tsemii Pete ja Linda kisaan! Vetäkää Suomelle voitto Li371564Raiskaukset loppumaan?
Onko kenelläkään tiedossaan tuloksellisia keinoja saada väkisinmakaaminen loppumaan tai edes vähenemään? Lainsäädännön3701421- 871061