IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
John Ronald Reuel Tolkien:22.1.2018 21:42

Zdravím, chci se zeptat, kde mám chybu :

var prvni=documen­t.getElementsBy­TagName("td");

var input=documen­t.createElemen­t("input");
input.type="text";
delka=prvni.length;
alert(delka);
for (var i=0;i<prvni.len­gth;i++)
{
prvni[i].appen­dChild(input) ;
alert("a");
}
Po každém "odkliknutí" áčka v alertu se input sice vloží, ale hned jak dám potvrzení alertu, input přeskočí na další prvek pole a ze stávájícího zmizí. Bylo by možné pomoci Cyklu vložit input do všech buněk ?
Děkuji za odpověď

 
Odpovědět
22.1.2018 21:42
Avatar
Peter Sciranka
Tvůrce
Avatar
Odpovídá na John Ronald Reuel Tolkien
Peter Sciranka:22.1.2018 22:46

Ahoj, poupravil som tvoj kód, skús použiť:

let prvni = document.getElementsByTagName("td");

for (let i = 0; i < prvni.length; i++) {
    let input = document.createElement("input");
    input.type = "text";
    prvni[i].appendChild(input);
}
Nahoru Odpovědět
22.1.2018 22:46
Act as if it was Impossible to Fail
Avatar
Mirek Slouka
Člen
Avatar
Mirek Slouka:22.1.2018 22:47

Podle tvého kódu ten input vytvoříš jen jednou a pak se ho snažíš dávat na více míst na stránce, zkus je vytvářet v cyklu a ne jen jednou na začátku. Kód uvnitř cyklu by měl vypadat následovně

prvni[i].appendChild(document.createElement("input")) ;
alert("a");

Zkus jestli to funguje, pokud ne, tak se na to podívám.

Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
22.1.2018 22:47
I can explain it to you, but I can't understand it for you.
Avatar

Člen
Avatar
:23.1.2018 9:47
const prvni = document.getElementsByTagName('td')

for (let i = 0; i < prvni.length; i++) {
  const input = document.createElement('input')
  input.type = 'text'
  prvni[i].appendChild(input)
}
 
Nahoru Odpovědět
23.1.2018 9:47
Avatar
Odpovídá na
Marian Benčat:23.1.2018 20:22

Ze by už fixnuli performance scoped let ve for cyklu?:) naposledy jsem to zkoušel tedy asi před rokem a pul, ale let byl o 60%-400% pomalejší než var. Speciálně v chromu, kde ta implementace let ve foru, byla naprosto děsivá.

Nahoru Odpovědět
23.1.2018 20:22
Totalitní admini..
Avatar

Člen
Avatar
Odpovídá na Marian Benčat
:23.1.2018 20:30

To je fakt stará záležitosť, už je to ďaleko lepšie.

 
Nahoru Odpovědět
23.1.2018 20:30
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 6 zpráv z 6.