Diskuze: Jak na appendClass

JavaScript JavaScript Jak na appendClass

Avatar
Nezmar Hydra
Člen
Avatar
Nezmar Hydra:

Nemohu přijít na to jak jak použít appendChild.
Zkoušel jsem to v mnoha podobách, ale nikdy mi nezafungovalo formátování pomocí css vždycky se mi maximálně vypíše text.

var mainko= document.crea­teElement("ID");
var trida = document.crea­teElement("clas­s");
var trida2 = document.crea­teElement("clas­s");
var hacko = document.crea­teElement("span");

mainko.id = "MojeMain3";
trida.class = "post";
trida2.class = "title";
hacko.span="span";
document.getE­lementById("ma­in").appendChil­d(mainko);
document.getE­lementById("Mo­jeMain3").appen­dChild(trida)­.appendChild(tri­da2).appendChil­d(hacko).textCon­tent ="ghghghgfhd";

Nakonec jsem to pořešil přes innerHTML, ale myslim, že musí bejt elegantnější cesta. Můžete někdo poradit?
Teprve začínám, přečetl jsem si tutoriály a laboruju. Děkuju za rady.

Editováno 7. října 12:13
 
Odpovědět 7. října 12:12
Avatar
Nahoru Odpovědět 7. října 16:34
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Ján Timoranský
Redaktor
Avatar
Ján Timoranský:

Chceš akože elementu nastaviť classu cez kód? Skús použiť .className na element? Ak som zle pochopil otázku tak skús lepšie špecifikovať, čo potrebuješ.

element.className += " " + newClassName;
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 7. října 16:36
Find what you love and let it kill you.
Avatar
Nahoru Odpovědět  -1 7. října 16:46
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Nezmar Hydra
Libor Šimo (libcosenior):

Najlepšie je to riešiť cez jQuery, príklad máš vyššie.

Nahoru Odpovědět  -1 7. října 17:12
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Marian Benčat:

Pardon za minuska.. ale kvuli naprosto primitivnimu pridani classy elementu OPRAVDU NELINKUJEME KNIHOVNU

Ján dává správné řešení.

 
Nahoru Odpovědět 7. října 19:42
Avatar
Nezmar Hydra
Člen
Avatar
Odpovídá na Ján Timoranský
Nezmar Hydra:

Děkuji za rychlé reakce. Jestli jsem špatně vysvětlil problém tak se omlouvám.
Jedná se mi o to, že pořebuju vlastně tohle

<div id="example" class="post">
<h2 class="title">id "nadpis"</h2>
<h3 class="date">id "datum"</span></h3>
<div class="story">id " textt"</div></div>
abych to mohl generovat z javy a vkládat texty, tak aby bylo zachováno formátování CSS.

vyřešil jsem to takhle :
document.getE­lementById(IDec­ko).innerHTML= ("<div class=")+"pos­t"+("><h2 class=")+"title"+("><span id=")+Hlavicka+("></span­></h2><h3 class=")+"date"+("><span class=")+"mon­th"+("></span><span id=")+datum+("></spa­n></h3><div class=")+"sto­ry"+("><p id=")+Telo+("></p></­div></div>");

Funguje to, jen mám pocit, že to není úplně správné řešení a mělo by to jít vytořit právě pomocí objektu a appendChild(). Je to tak?

 
Nahoru Odpovědět 7. října 22:14
Avatar
Ján Timoranský
Redaktor
Avatar
Odpovídá na Nezmar Hydra
Ján Timoranský:

Skúsil som dať niečo dohromady na JSFiddle . Určite sa to dá urobiť lepšie a efektívnejšie, no na ukážku a porozumenie to podľa mňa postačí. Pre každý element si zadefinuješ premennú, ktorej iba cez metódy pridáš ID, classu a obsah.

Nahoru Odpovědět  +1 7. října 23:20
Find what you love and let it kill you.
Avatar
Nezmar Hydra
Člen
Avatar
Nezmar Hydra:

Velice děkuji, teď jsem se s tím dopral skoro sám. Natrklo mě jak si napsal className
já psal
trida.class = "post";
trida2.class = "title";
a stačilo
trida.className = "post";
trida2.className= "title";
a už jsem věděl že jsem kde chci bejt.
Děkuju moc.

 
Nahoru Odpovědět  +1 7. října 23:46
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 9 zpráv z 9.