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
- 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
No nytkö tuli lähtö Orpolle?
Pieniä oli Marinin aamupalasilakat joulukaloiksi vrt. Orpon 35 miljoonan euron kähmintä johonkin Vapaavuoren urheiluhall2512294- 1921694
Kauhavan häiriköijistä
Juttua Iltalehdessä. Pakko sanoa että noi nuoret on kyllä ihan pimeitä. Putkin peltoja jupksevat kiusaamaan kun ei tietä471349Haluan sinut, kuuletko minua.
Haluan sinut. Toivon, että voisimme olla yhdessä. Mietin pystynkö täyttämään toiveesi, olemaan arvoisesi. Voisitko saad501045- 41846
- 14820
Miksi Lapset kiusaa yöllä
Miksi Lapset kiusaa yöllä ihmisiä? Miksi vanhemmat antaa tämän tapahtua? Eikö ne huomaa ettei lapset ole kotona vai eivä31810Sama ransetti taas!
Keikkui tällä kertaa Honkavaaran tien varressa muutaman sadan metrin päässä Louhenkoskelta.. Otin rekisterin ylös ja ver23778Viimeinen lankafest
Käykää viimeisessä lanka festissä. Ensivuonna sitä ei enää ole. Rahat on loppu. Harmi .25776Tehdäänkö tänään toiveista totta?
Poikkea tänä illasta siinä lähellä ja annetaan silmien puhua ja sen jälkeen puhu sinä lopulta mitä ajattelet..46647