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. Ne katseet, ei niitä

      Voi unohtaa. Se, miten molemmat katsoi
      Ikävä
      66
      1062
    2. Miten jotkut kehtaa aikuisiällä kiusata

      Ihmisiä? Eikö se ole aika noloa?
      Ikävä
      140
      849
    3. 71
      763
    4. Rydmanin lista lääkkeistä joista poistetaan Kela-korvaus julkisen potilailla

      Rydmanin lista lääkkeistä joista poistetaan Kela-korvaus julkisen potilailla (yksityisen asiakkaille Kela-korvaus jätetä
      Maailman menoa
      422
      714
    5. Onko kaivattusi seksipommi?

      Minun kaivattuni on😅😍
      Ikävä
      38
      658
    6. Mies miksi me ei voida aloittaa salaista suhdetta

      Pakkoko siitä olisi kenellekään kertoa? Voitaisiin nähdä salaa jossain eri paikkakunnalla.
      Ikävä
      72
      604
    7. Salassapito ja kunnan hommat

      Hyryllä alkanut olla ihmeellinen tapa että minä kuulen kunnan tapahtumista kylältä yhden henkilön toimesta. Tiedotusta h
      Hyrynsalmi
      13
      569
    8. Milloin mies aloitetaan

      Joku kiihkeä romanssi tai vakavampi suhde..? En jaksa enää olla yksin. Sä taidat haluta olla yksin.
      Ikävä
      37
      564
    9. En enää mies ikävöi sinua niin paljon

      Jos nyt vain pysyttelisit pois näköpiiristäni vielä kesän yli näiden useiden kuukausien jatkeeksi, niin luulen että kaik
      Ikävä
      55
      533
    10. Hyvää yötä kivalle miehelle!

      Samasta kylästä! 😊
      Ikävä
      94
      529
    Aihe