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. Realistisesti

      Miten toivoisit, että asiat etenisivät hänen kanssaan? Kuka tekisi mitä?
      Ikävä
      121
      1209
    2. millaiset hiukset

      kaivatullasi on? :)
      Ikävä
      41
      973
    3. Miksi et edistä asiaa...

      Kaivattusi suhteen??
      Ikävä
      58
      890
    4. Minkälaista ajattelisit elämänne olevan

      jos olisit kaivattusi kanssa yhdessä?
      Ikävä
      72
      850
    5. Tää on todella huvittavaa seurata näiden savolaisten

      naapurusten piikittelyä ja vihanpitoa toisilleen netissä. Näyttää siltä, että Mehtoselle alkaa tulla isäukon piirteet e
      Tuusniemi
      41
      756
    6. Sinulle nainen

      Koitan vihdoin jättäytyä täältä pois. Taas koko illan tänne tullut vain jotain pilkkaus viestejä, ei jaksa tuollaista. M
      Ikävä
      80
      736
    7. Kuka mölyapina

      Kuka saatanan vittu naama mölisee sunnuntaiaamuna jolla ei oo edes lauluääntä. Yön kuulunut jonkun ajan mölinää sisälle
      Suomussalmi
      17
      705
    8. Kuhmosta (kyseenalaiseen) kuuluisuuteen

      Naapurikylän, siis Nurmeksen suurin tubettaja on iskenyt naisen Kuhmosta. Kertoo kanavallaan naisen olevan hyvä rakastel
      Kuhmo
      5
      674
    9. Salaattirosvo

      Sinulle tiedoksi joka varastit salaatit viime yönä kasvulootasta,jäit riistakameraan🤣🤣🤣. Tulehan selvittelemään asia
      Suomussalmi
      23
      639
    10. rattijuoppoja

      tavattu taas Haapavedellä, hyvä että poliisi on valppaana
      Haapavesi
      17
      622
    Aihe