Autor Zpráva
Mario92
Profil
Zdravím potřeboval bych poradit, protože se mi to nedaří nikde najít.
potřebuju aby cyklus v JS několikrát vypsal hmtl kod
Tedy potřebuju JS obdobu tohohle v php
for($i=0;$i<5;i++)
{?>
<img.....></img>
<?}

Předem děkuju.
juriad
Profil
pokud znáš to, co se bude vypisovat, v době, kdy se poprvé zobrazí stránka, tak se podívej na
První JavaScript v HTML

pokud potřebuješ upravovat stránku později (už se zobrazila a ty chceš přidat obrázek), tak musíš použít DOM (ten můžeš použít i v prvním případě)
ukázka: https://developer.mozilla.org/en-US/docs/DOM/document.createElement
Mario92
Profil
staci mi prvni pripad ale nechci to vypisovat
for(...) document.write("<img scr="obrazek.jpg"></img>");

chtel bych neco jako je v php {?> ....... <?} protoze pokud necham cyklem vypisova rozsahl HTML kod prvni verze je velice neprehledna.
Je neco takoveho?
margin
Profil *
Větvení
Je tam i odkaz na příklad. Jenom nevím, jak chceš měnit src obrázků, ale pokud to bude číselná řada, tak by to neměl být problém.
Mario92
Profil
Promin ale fakt to nevidim vsechen html kod se tam vypisuje pomoci document.write a to prave nechci
Mohl by jsi mi prosim primo napsat jak v cyklu zapisu HTML kod bez document.write?
Jan Tvrdík
Profil
Mario92:
To, co chceš, v JavaScriptu nefunguje, protože JS není na rozdíl od PHP šablonovací jazyk.
Mario92
Profil
Takze v JS neni na vyber a cely HTML kdo se musi vypisovat pomoci document.write?
peta
Profil
Mario92: Takto to nejde napsat a to z dost dobreho duvodu. Js kod zacina tagem script a konci tagem /script. Prohlizec pri zobrazeni stranky nema cas resit, jestli je js kod preruseny tagem script nebo ne. To by se uzivatel stranky nedockal.
Muzes pouzit document.write nebo objekt.innerHTML. Pro nahrazovani muzes pouzit reg. vyraz str.replace().

xxx = function (str,data)
    {
    for (i in data)
        {
        str = str.replace('%'+i+'%',data[i]);
        }
    return str;
    }
tpl = "\
<img src=\"%x%\" alt=\"%y%\">\
<a href=\"stranka.htm\">x a y<\/a>\
";
document.write(xxx(tpl,{x:"ahoj",y:"ale nic"}));
Mario92
Profil
Tohle je super dekuju ya odpoved .
Jen by me jeste zajimalo kdyz mam
for(.....) name.src="pole[i]"
jak mam dynamicky menit name
peta
Profil
Vynech cizi pojmy a zkus to napsat cesky a presneji.
dynamicky menit src => name.src="neco"
dynamicky menit name mi nedava smysl. Podle ukazky kodu se neda zjistit, co je v name. Je to tag img? A ten jsi tam ziskal jak, pred getElementById? Pokud ano, tak pouzij do te funkce jiny parametr. Pokud je to objekt window, tak se k nemu da dostat jako alert(window['name']) stejne tak jako alert(name).
Mario92
Profil
Ok pokusim se upresnit chci aby smycka for(i=0;i<3;i++) vypsala nakonec tohle

name0.src=....
name1.src=....
name2.src=....

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: