Dzieci elementu

0
<ul id="menu">
<li class="klasa"></li>
<li class="klasa"></li>
<li class="klasa"></li>
<li class="klasa"></li>
</ul>
<div id="blok"> </div>
function start()
{
var a = $("#menu").children().length;
alert(a[2].css({ 'border' : '1px solid red'})); 
}

docelowo chciałbym jakos przy pomocy jquery sprawić, aby blok

zczytał pozycje <li> które zostało kliknięte. Niestety nie wiem jak przeleciec się po wszystkich dzieciach <ul> i nadać im funkcje..</p>
0
$("#menu").children().click(function(e) { alert("I'm clicked! " + this); });

nie testowane, nie znam jquery, znam google. li nadaj id lub tag zawierający w sobie numer, albo w obsłudze onclick dodaj pętlę po dzieciach #menu sprawdzającą którym dzieckiem jest this.

0

pozycję - chodzi Ci, żeby sprawdzić który to element, czy pozycję x, y w pikselach względem czegoś?

0

chodzi o sprawdzenie elementu!
przelatujesz w pętli wszystkie dzieciaki i nadajesz funkcję

0

to nie było pytanie do Ciebie -.-

autor coś wspomina, żeby DIV sczytywał pozycję - wtf? mi sugeruje jakieś koordynaty.

jeżeli tylko który element to:

$('#menu>li').click(function() {
  var index = $('#menu>li').index(this); // liczone od zera!
  alert(index);
});
0

moze nie tak. Inaczej to ujmę, generalnie są dwie odrębne listy <ul><ul> które mają po trzy elementy <li></li></code> . Ale na pierwszej z listy, kazdy z elementów <code><li> </li> może otrzymąc jakąś klase. Klase otrzymuje zawsze jeden w danym momencie. I jak chciałbym rozpoznać, który to element ma tę klasę i którym jest w kolejności dzieci dla danego <ul></ul></code> . NMumer potrzebny jest mi po to, aby w drugiej liście <ul></ul> element o takim samym numerze <code><li></li> otrzymał klasę co ten z pierwszej listy. Czyli np element nr. 2 na liscie nr. 1 ma klase, to element nr. 2 w liscie nr. 2 tez chciałbym aby ją otrzymał.

1

jeżeli każde ul ma swoje id (powiedzmy #menu i #menu2) to coś takiego spowoduje, że po kliknięciu elementu w jednej liście podświetli się (doda sie klasa "active") ten sam w kolejności element w drugiej liście:

$('#menu>li,#menu2>li').click(function() { 
  var idp = $(this).parent().attr('id');
  var index = $(this).index('#'+idp+'>li') + 1;
  $("#menu>li,#menu2>li").removeClass('active'); // nie chcialo mi sie pisać :not()
  $("#menu>li:nth-child("+index+"),#menu2>li:nth-child("+index+")").addClass("active");
});

1 użytkowników online, w tym zalogowanych: 0, gości: 1