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

    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. Kuka tai ketkä tappo eilen?

      Kenet ja miksi?
      Varkaus
      37
      1792
    2. Arvostele kaivattusi

      ulkonäköä, asteikolla 1-10. Perustelut myös 🧢
      Ikävä
      50
      818
    3. Mitä teet mies?

      Oletko jonkun naisen kanssa? 😞
      Ikävä
      69
      776
    4. Miksi sitä miestä tuijotetaan joka paikassa

      Onko maine jonkinlainen?
      Ikävä
      108
      740
    5. Kuka varasti Sisun rahat

      Kun lukee Sisun pöytäkirjaa, niin kuka on se, joka on varastanut Sisun rahat?!
      Sysmä
      7
      651
    6. Miten sulla on niin kaunis

      Ääni. Sellainen rauhoittavan vangitseva, jolloin aika kuin hidastuu. Ihmettelen sua vielä aika paljon. Lähes joka aamu t
      Ikävä
      33
      629
    7. Ajattelen sinua

      vain. Ihoasi vasten ihoani, huuliasi huulillani, sormiasi vartalollani... Olen katkera elämälle siitä että se antoi sinu
      Ikävä
      27
      580
    8. Taas on Festarit ohi ja saatu toisten muijia kylläseksi asti

      2 päivää täyttä jytinää ja rytkettä kyllä kelpaa vielä Kaupunkin tukemana.
      Parkano
      15
      559
    9. Olen työtön ilman työnhakuvelvoitetta

      Saan 600e/kk. En voi tehdä töitä. En osaa laittaa ruokaa. En pysty kävelemään tai olemaan jalkeilla tuntia pidempään.
      Ikävä
      141
      471
    10. Mikä sai sinut ajattelemaan mies...

      Ettet riittäisi minulle?😔
      Ikävä
      51
      453
    Aihe