JavaScript if() {} else {}

Anonyymi

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?

6

326

    Vastaukset 6

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi
    • 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

    1. Mies tykkään edelleen sinusta

      Harmittaa vaan tämä tilanne. Tai se kun ei ole mitään tilannetta.
      Ikävä
      59
      1220
    2. Martina Aitolehti veti kohtalokkaat hääkännit - Alttarilla ikävä temppu Esko Eerikäiselle

      Ex-pariskunta Aitolehti ja Eerikäinen pitävät yhdessä Martina & Esko podcastia. He ovat kertoneet kansalle mm. hääaamust
      Kotimaiset julkkisjuorut
      57
      1148
    3. Haluatko mies mennä naimisiin melko pian, ku ollaan kohdattu?

      Mä haluaisin mennä mahdollisimman nopeesti....💍
      Ikävä
      133
      1122
    4. Vappu Pimiä lataa suorat sanat TTK-lähdöstään - Yksi asia elämässä muuttui pysyvästi

      Vappu Pimiä astui pois Tanssii Tähtien Kanssa -juontajan pallilta viime syksynä. Pimiällä oli pitkät perinteet TTK:ssa,
      Suomalaiset julkkikset
      7
      990
    5. Mitä haluaisit sanoa hänelle?

      Jos joskus kohtaatte?
      Ikävä
      96
      950
    6. Vain elämää: Silmiinpistävä muutos heti ekassa jaksossa - Onko tämä hulppeampi kuin entinen?

      Vain elämää on totuttu näkemään Hirvensalmella sijaitseva Satulinna. Uudella kaudella kuvauspaikka muuttuu Calliolaksi.
      Vain elämää
      5
      805
    7. Sinulle jota kaipaan!

      Tunnen sinua kohtaan jotain, mitä en enää osaa selittää pelkällä ihastumisella. Se on kiintymystä, kaipuuta, romanttista
      Ikävä
      27
      741
    8. Mikä kaivatussasi

      on parasta?
      Ikävä
      44
      734
    9. Onko naisten "ahdisteluhysterian" kulttuuria kritisoivat miehet itse ahdistelijoita?

      Tällaisen kuvan saa, kun tästä aiheesta tekee aloituksia: aina luullaan, että "ahdisteluhysteriaa" kritisoiva mies on it
      Sinkut
      192
      696
    10. Jos oltais joskus samoissa bileissä

      Niin lähdettäiskö yhdessä ”jatkoille?”
      Ikävä
      71
      669
    Aihe