Diskuze: JS "nemění" innerHTML

JavaScript JavaScript JS "nemění" innerHTML

Avatar
ostrozan
Redaktor
Avatar
ostrozan:

Tedy abych upřesnil ty uvozovky tak vnitřně ano , ale na venek se to neprojeví - viz obrázek

stará se o to tento kód:

function switchHdo(val) { //val :  vypnut | zapnut | zapnut rucne
    var trgHdo = document.getElementsByClassName('hdo');//span
    var butHdo = document.getElementsByClassName('hdoSwitch');//input button
    trgHdo.innerHTML = val;

    if (val ==="vypnut"||val ==="zapnut") {
        butHdo.innerHTML = "přepnout na ruční";
    }
    else{
        butHdo.innerHTML = "přepnout na auto";
    }
}

jen dodám, že na stránce mám ještě dalších 40 spanů, které měním a to funguje jen u tohoto a buttonu hne dpod ním je problém

 
Odpovědět 1. prosince 21:38
Avatar
Odpovídá na ostrozan
Michal Žůrek (misaz):

protože funkce getElementsBy­ClassName() vrací více elementů, musíš si říct přes index, který chceš. Pokud je na stránce hdo jenom jedno, tak

function switchHdo(val) { //val :  vypnut | zapnut | zapnut rucne
    var trgHdo = document.getElementsByClassName('hdo')[0];//span
    var butHdo = document.getElementsByClassName('hdoSwitch')[0];//input button
    trgHdo.innerHTML = val;

    if (val ==="vypnut"||val ==="zapnut") {
        butHdo.innerHTML = "přepnout na ruční";
    }
    else{
        butHdo.innerHTML = "přepnout na auto";
    }
}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 1. prosince 23:10
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na ostrozan
Martin Štěpánek (Enormyk):

pokud jich je více, tak musíš přes cyklus ;)

Nahoru Odpovědět 1. prosince 23:28
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
ostrozan:

Dík - JS není moje hlavní zaměření - prakticky jsem v tom kdysi udělal jedinou věc na zkoušku a teď tam právě tohle potřebuju doplnit - pak se vloudí i taková chybka :)

 
Nahoru Odpovědět 2. prosince 5:16
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
ostrozan:

Právě, že tohle je jediný samostatný prvek - všechny ostatní právě tím cyklem projíždím.

Ale asi jsem si myslel, že jako v Cčku pole[0] a pole jedno jest

 
Nahoru Odpovědět 2. prosince 5:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.