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. Olen tumma ja tulinen

      Ja vielä suora - en ollut sinua varten. n to m
      Ikävä
      179
      1376
    2. Tunnustuksia

      Haluatko tunnustaa jotain, mitä on sydämelläsi?
      Ikävä
      85
      1263
    3. Mitä kysyisit

      Mihin haluaisit vastauksen häneltä eli mitä kysyisit?
      Ikävä
      102
      1013
    4. Sä et vaan töllö tajua että rakastuin

      Mikä stana siinä on niin vaikea ymmärtää?! Täh
      Ikävä
      48
      849
    5. Suhde sinuun on ollut yhtä draamaa

      ilman draamaa ja suhdetta. 😅 Oikeasti ei naurata. Nainen, olet pitänyt minut pihdeissäsi. Tunne on välillä vahva ja su
      Ikävä
      40
      743
    6. Haluatko, että kierrän sinut kauempaa

      Kun näyttää, ettet minusta innostu. Voisit edes täällä kertoa selvät sävelet.
      Ikävä
      83
      626
    7. Yritit nainen sammuttaa kiinnostukseni

      mutta se tehtävä epäonnistui. Se oli sitä bitch -mode vaihetta silloin. Lopputulos on nyt se, että rakastan sinua tällä
      Ikävä
      30
      556
    8. Leski ja Volvomies

      Mitä se Volvomies kulkee sen nuoren lesken luona.. joko leski surunsa surrut ja uusi jo katottu..
      Kuhmo
      7
      556
    9. Kyllä mä tiedän et me kuulutaan yhteen ja se on tähtiin kirjoitettu!!

      En vain halua satuttaa sua. Olen aivan perseestä epävakaan ja ADHD oireiluin vuoksi. Ja kun olisi aika "vapauttaa" ne su
      Ikävä
      44
      522
    10. Mikä on vahvuutesi palstalla?

      Oletko kuullut asian joltain toiselta vai oletko itse sitä mieltä? Itse luen avarakatseisuuden omaksi vahvuudekseni. Yr
      Sinkut
      111
      520
    Aihe