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. Kenellä oli ryppyinen paita, josta Halla-aho mielensä pahoitti?

      Ei ollut Keskisarja, jonka paita vain repsotti housujen päällä puolittain. Muistatteko tapausta?
      Maailman menoa
      55
      3173
    2. Poliisi tutkii keskiviikkoiltana Kiuruveden keskustassa tapahtunutta väkivallantekoa.

      Itä-Suomen poliisi tutkii Kiuruveden keskustassa keskiviikkoiltana tapahtunutta epäiltyä väkivallantekoa. Tapaus on herä
      Kiuruvesi
      31
      2365
    3. Miksi Halla-aho on niin hyvin menestynyt - mutta punavihreä ei?

      Hyvin näkee kuinka punavihreää ottaa pahasti päähän kun Virta on taas töppäillyt pahasti. Ja kun punavihreä ei pärjää, n
      Maailman menoa
      55
      2359
    4. Ruoan arvonlisävero menee käytännössä tukijussille

      Ilman juomia elintarvikkeiden myynti vuonna 2025 oli reilut 15 miljardia euroa. Tuolla tasolla arvonlisävero pyörii pari
      Maailman menoa
      89
      2252
    5. Vihreät REPEÄMÄSSÄ oijoijoi....Virran sekoilut on liikaa

      Jo ennestään vihreiden kannatus on suossa vaikka puolue istuu oppositiossa, nyt tuli Virran temppu kun häipyi tuosta vaa
      Maailman menoa
      108
      2156
    6. Ruotsissa uusi vakava ongelma: Vanhusten seksuaalinen hyväksikäyttö

      palvelutaloissa ja kotihoidossa. Tämäkin on ihan puhtaasti väärän maahanmuuton vaikutusta, sillä tekijät ovat kaikki keh
      Maailman menoa
      72
      1882
    7. Työeläkkeiden maksaminen lopetettava ASAP.

      "Vanhimmat sukupolvet ovat saaneet vastinetta eläke­maksuilleen monin­kertaisesti nykyisiin ja tuleviin sukupolviin verr
      Maailman menoa
      97
      1633
    8. Mika Poutala salasi osallistumisensa Erikoisjoukkoihin

      Poutala ryhtyi ministeriksi 13.6.2025 ja 5.8.2025 ilmoitettiin hänen olevan seuraavalla Erikoisjoukot-kaudella. http
      Maailman menoa
      60
      1399
    9. Siis HYI OLKOON! Ihmiset, eikö enää ole mitään rajaa?

      https://www.iltalehti.fi/viihdeuutiset/a/4142eeb2-a589-4109-a5d0-e8f341df585c "Susanna Penttilän seksibussi kauhistutta
      Maailman menoa
      142
      1352
    10. Puuma Martina iski nuoren miehen

      Martina ja Hajji Muhis oikealta nimeltään Muhammad Abdilrasoon hempeilivät Tallinnassa. Hajji 28 vuotias ja Martina pian
      Kotimaiset julkkisjuorut
      183
      1287
    Aihe