[ Bokacio @ 14.02.2011. 00:32 ] @
Pozdrav svima,

Imam sledeci jednostavan HTML kod:

Code:
<ul>
  <li>Root 1</li>
  <li><a onclick="flipChilds();">Root 2</a></li>
    <ul>
      <li>Child 1</li>
      <li>Child 2</li>
    </ul>
  <li>Root 3</li>
</ul>


Zeleo bih da kada korisnik klikne na A tag, da se UL koji je ispod njega prikazuje/sakriva. Nesto dakle kao stablo u Windows Exploreru.

Kako ovo mogu da uradim ali da ni tagu A i ni tagu UL-u ne dam id atribut.

Da li je nesto moguce uraditi uz pomoc NextSibling-a ili sl?

Pozdrav i hvala
[ Nikola Poša @ 14.02.2011. 12:24 ] @
Uz pomoć jQuery-ja, sve možeš da završiš sa samo par linija koda:
Code:
$('ul li a').click(function() {
   $(this).parent('li').next('ul:first').toggle();
});

btw Taj tvoj HTML markup baš i nije po "udžbeniku", jer se liste obično ugnježdavaju na ovaj način:
Code:
<ul>
  <li>Root 1</li>
  <li><a onclick="flipChilds();">Root 2</a>
    <ul>
      <li>Child 1</li>
      <li>Child 2</li>
    </ul>
 </li>
 <li>Root 3</li>
</ul>

Obrati pažnju gde je zatvoren taj drugi li tag. U tom slučaju, taj parent('li') segment u JS kodu sa početka ovog post-a je suvišan.
[ Bokacio @ 14.02.2011. 16:08 ] @
Nazalost moram da napravim da radi bez jQuery-a. Da li je to moguce?

Hvala na ispravci, promaklo mi je.

Hvala

[Ovu poruku je menjao Bokacio dana 14.02.2011. u 20:55 GMT+1]
[ misk0 @ 15.02.2011. 21:09 ] @
Naravno da jeste, jQuery je baziran na obicnom Javascript kodu.
[ Milan Kragujevic @ 15.02.2011. 21:20 ] @
Ne znam zbog čega bi želeo da ukloniš jQuery?
Šta mu fali? Imaš mini pakete,mali su,kompaktni... A omogućava mnogo,mnogo,mnogo stvari!