[jQuery] Re: I can't understand how work with li elemetnts

2008-10-09 Thread Vic

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

2008-10-09 Thread Paul Mills

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

2008-10-09 Thread Paul Mills

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?