NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 18 - Manipulace s DOM v JavaScriptu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Petr Kalich
Člen
Avatar
Petr Kalich:8.1.2020 12:39

Ahoj, chtěl jsem se zeptat na innerText(potažmo innerHTML a textContent)jak je v článku, už to tady bylo nakousnuto, mohl by teda někdo napsat,jak teda správně vypadá zápis,aby byl vrácený text v <p> <span>Hello</span>wor­ld?, mé snahy byly neúspěšné

<body>
<p id="sit"><span>Hello</span>world</p>

<script>
        let p = document.getElementById("sit").innerHTML;
             p.innerHTML=p

</script>
</body>

pokud ovšem do proměnné dám textový řetězec s <p>,tak to už funguje

<body>
<p id="sit"><span>Hello</span>world</p>

<script>
        let p = document.getElementById("sit")
        let s = "<span>Hello</span>world"
             p.innerText= s;

</script>
</body>

takže, jde mi přímo měnit obsah elemntu,ale né aby se určitý elemnt vracel v zápisu jak bych chtěl:)
děkuji za případnou reakci

 
Odpovědět
8.1.2020 12:39
Avatar
Virlupus
Tvůrce
Avatar
Odpovídá na Petr Kalich
Virlupus:8.1.2020 23:33

Nevím zda Tě dobře chápu, ale chceš měnit obsah elementu, že? V tomto případě

<p id=sit>Zde změnit text</p>

, jestli se nemýlím?

<p id="sit"><span>Hello</span>world</p>

<script>
    let p = document.getElementById("sit");
    p.innerHTML = "Nějaký text v elementu p s id=sit";
</script>
 
Odpovědět
8.1.2020 23:33
Avatar
Virlupus
Tvůrce
Avatar
Odpovídá na Petr Kalich
Virlupus:8.1.2020 23:37

PS: Vlastně by to měl být nějaký text ve všech elementech s id=sit :-D. I Když identifikátor byl měl být unikátní, třídy již nikoli.

Editováno 8.1.2020 23:39
 
Odpovědět
8.1.2020 23:37
Avatar
Petr Kalich
Člen
Avatar
Odpovídá na Virlupus
Petr Kalich:15.1.2020 11:27

díky za odpověď, spíš mě zajímalo, jak by vypadal ten kod,aby vypsat to pečko
<p id="sit"><spa­n>Hello</span>wor­ld</p>
jako "textový řetězec",jak je to tady v článku, tedy aby to nevracelo "Hello world" ale "<span>Hello</span>wor­ld"
Díky:)

 
Odpovědět
15.1.2020 11:27
Avatar
Virlupus
Tvůrce
Avatar
Odpovídá na Petr Kalich
Virlupus:15.1.2020 11:49

Pro výpis obsahu v nějakém elementu s tagy element.innerHTML, pro výpis bez tagů element.innerText,

<p id="sit"><span>Hello</span>world</p>

<script>
    let p = document.getElementById("sit").innerHTML;
</script>

Výsledek v p bude <span>Hello</span>world

 
Odpovědět
+1
15.1.2020 11:49
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:6.3.2020 9:37

Pokud to spletete, obdržíte chybu (asi ji však neuvidíte, chyby zobrazují pouze starší verze IE)

Ach jo, proč rovnou nenaučíte lidi pracovat s debuggerem? Aspoň co se týče konzoli.
Minimálně právě tam by viděli, jestli jim kód hlásí nebo nehlásí žádnou chybu. Proč to už teď nezmínit?

Odpovědět
+2
6.3.2020 9:37
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Josef Šrámek:10.2.2021 19:38

Ahoj. Chci se zeptat na metodu hasAttribute(). Pokud je připojena k metodě která vrací element podle "Id" (getElementById), pak funguje v pořádku. Pokud ji ale přiřadím k metodě která vrací element podle "tagu" (getElementsBy­TagName), pak nic nefunguje.

Možná špatně chápu vykládanou látku v lekci 9, ale mám za to, že by to mělo fungovat i s jinými funkcemi, než je getElementsByID.

Dole mám zdrojový kód. Je vytvořený podle w3schools.com a mírně upravený.

Nefunkční kód je zakomentovaný. Můžete mě prosím poradit?

Předem děkuji za pomoc.

<!DOCTYPE html>
<html>
<body>

<p>Click the button to find out if the button element has an onclick </p>

<button id="myBtn" onclick="myFun­ction()">Try it</button>

<p>Internet Explorer 8 and earlier does not support the hasAttribute() </p>

<p id="demo"></p>

<script>
function myFunction() {
let x = document.getE­lementById("myB­tn").hasAttri­bute("onclick");
//let x = document.getE­lementsByTagNa­me("button").ha­sAttribute("on­click");

if(x)document­.write("Ma hledany atribut");
else document.write("Ne­ma hledany atribut");
}
</script>

</body>
</html>

 
Odpovědět
10.2.2021 19:38
Avatar
Odpovídá na Josef Šrámek
František Vejmola:17.3.2021 20:23

Ahoj, sám nejsem v tomhle vůbec zběhlý, ale myslím, že problém je v tom, že

document.getElementsByTagName()

nevrací prvek, ale pole prvků. Na pole prvků samozřejmě nemůžeš volat

.hasAttribute()

Musel bys vybrat z toho pole nějaký konkrétní (třeba nultý) a teprve na ten funkci zavolat.

 
Odpovědět
+2
17.3.2021 20:23
Avatar
Martin Friedel:27.11.2021 20:50

Nemohl by být prosím u každé metody nějaký jednoduchý příklad z praxe? Přijde mi to vysvětlené jen tak letem světem, od předchozích lekcí je to rozdíl k horšímu :(

 
Odpovědět
+6
27.11.2021 20:50
Avatar
Jan Michálek:20.4.2022 12:49

Nejhůře popsaná lekce, kterou jsem na ItNetwork zatím přečetl. Člověk musí na jiné weby hledat co různé funkce pro práci s potomkama dělají.

 
Odpovědět
+6
20.4.2022 12:49
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 10 zpráv z 113.