Autor Zpráva
Someone
Profil
Dobrý den, udělal jsem si funkci na změnu barvy nadpisu, ale nefunguje mi to. V javascriptu nejsem nějak zběhlí tak jsem se chtěl naučit nejdříve nějaké základy. Prosím vás nevíte proč to nefunguje? Případně jak to upravit.

<script>
  function zmena(tag) {
    var x = document.getElementByTagName(tag);
    x.style.color = "blue";
  }
</script>
<html>
  <head>
    <title>JavaScript</title>
    <style>
      h1 {color: black;}
    </style>
  </head>
  <body>
    <h1>Nadpis první úrovně</h1>
    <input type="button" name="button" value="Zmena" onclick="zmena('h1')">
  </body>
</html>
Michal Benda
Profil
Funkce getElementByTagName neexistuje - existuje pouze funkce getElementsByTagName (je tam důležité to s - tzn. vrací kolekci prvků - ne jeden)

To co ty chceš bych ale řešil trochu jinak:

<html>
  <head>
    <title>JavaScript</title>
    <style>
      h1 {color: black;}
    </style>
  </head>
  <body>
    <script>
     function zmena(id) {
      var x = document.getElementById(id);
      x.style.color = "blue";
     }
    </script>
    <h1 id="hlavni_nadpis">Nadpis první úrovně</h1>
    <input type="button" name="button" value="Zmena" onclick="zmena('hlavni_nadpis')">
  </body>
</html>
Someone
Profil
Michal Benda:
Děkuji, opět jsem zapoměl na to
document.getElementsByTagName


takže finální kód:
<!DOCTYPE HTML>
<script>
  function zmena(tag) {
    var x = document.getElementsByTagName(tag)[0];
    x.style.color = "blue";
  }
</script>
<html>
  <head>
    <title>JavaScript</title>
    <style>
      h1 {color: black;}
    </style>
  </head>
  <body>
    <h1>Nadpis první úrovně</h1>
    <input type="button" name="button" value="Zmena" onclick="zmena('h1')">
  </body>
</html>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0