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. 170
      1835
    2. Onko kaivattusi seksipommi?

      Minun kaivattuni on😅😍
      Ikävä
      83
      1308
    3. Hyvää yötä kivalle miehelle!

      Samasta kylästä! 😊
      Ikävä
      114
      963
    4. Realistisesti

      Miten toivoisit, että asiat etenisivät hänen kanssaan? Kuka tekisi mitä?
      Ikävä
      96
      851
    5. Olen osastolla

      Henkisesti olen aivan rikki siitä mitä olen tehnyt. Lisäksi olen vakavasti sairas. Verikokeet kertoo sen.
      Ikävä
      66
      696
    6. Oletkohan tajunnut mitä olen päättänyt

      En tule koskaan, ikinä, sanomaan sinulle mitään, ei tervehtimistä, ei aloitetta, ei katsetta, ei mitään, koska et ole si
      Ikävä
      41
      639
    7. Minkälaista ajattelisit elämänne olevan

      jos olisit kaivattusi kanssa yhdessä?
      Ikävä
      59
      627
    8. 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ä
      75
      545
    9. Miksi et edistä asiaa...

      Kaivattusi suhteen??
      Ikävä
      42
      534
    10. millaiset hiukset

      kaivatullasi on? :)
      Ikävä
      29
      532
    Aihe