[jQuery] Re: I can't understand how work with li elemetnts
Thank you but some problem exists List like this: ul class=class1 li class=selectedItem 1/li liItem 2/li liItem 3/li I need add class selected only to one list inem ( first, second, third, and so ). After your help I shall have: liItem 1/li li class=selectedItem 2/li li class=selectedItem 3/li Does exists some function in jQuery which get only i element from list items? $('ul') - for each list .children('li')[X] - here I need only elemnt with index i ( [X] need to be replaced to some construction. which? ) .addClass(selected) - this is I can write
[jQuery] Re: I can't understand how work with li elemetnts
If you want to remove class 'selected' from li elements and add it to others you could use toggleClass. You canthen use fade out before toggling, and fade in afterwards. $(li.selected).fadeOut(slow); $(li).toggleClass(selected); $(li.selected).fadeIn(slow); Paul On Oct 9, 12:53 pm, Vic [EMAIL PROTECTED] wrote: At first sorry for my English I have stupid problem: There is document like that: ul class=class1 li class=selectedItem 1/li liItem 2/li liItem 3/li /ul . ul class=class1 li class=selectedItem 1/li liItem 2/li liItem 3/li /ul . ul class=class1 li class=selectedItem 1/li liItem 2/li liItem 3/li /ul - and css like that: ul.class1 li { dispaly: none;} .selected { display: list-item; } And I have function: setType = function(n) { $('ul.class1').each(function() { $(this).children(li).each(function(i) { if( i != n ) $(this).removeClass(selected); else $(this).addClass(selected); }); }); } I work with lists so: setType(2) Iwould like to add some effects to this action ( fadeOut and fadeIn ) First part of code I can write: $('ul.class1 li.selected').fadeOut(slow); And it works fine. But now I have to show list items and add class selected. I can't understand, how I can select item number i in each list to make fadeIn and addClass to it ?
[jQuery] Re: I can't understand how work with li elemetnts
Hi, I'm not clear what you are trying to do in the last example. This may help: 1 - You have mixture of CSS styles and javaScript to control visibility of your li elements. It would be easier just to use javascript. Put something like this in document ready and remove the CSS : $(document).ready(function(){ $(li).hide(); $(li.selected).show(); }); 2 - The next or the child selectors may do what you want to select just first level. Have a look at the examples in the jQuery docs. Paul On Oct 9, 4:37 pm, Vic [EMAIL PROTECTED] wrote: New problem is founded: I replace list items in example above: ul class=class1 li class=selectedList 3 Item 1 ul class=class2 li class=selectedList 3 Item 1/li liList 3 Item 2/li liList 3 Item 3/li /ul /li liList 3 Item 2 ul class=class2 li class=selectedList 3 Item 1/li liList 3 Item 2/li liList 3 Item 3/li /ul /li liList 3 Item 3 ul class=class2 li class=selectedList 3 Item 1/li liList 3 Item 2/li liList 3 Item 3/li /ul /li /ul And now items are not appear. Does exists some filter to take only fist level items?