thanks a lot Karl Eyes-of-the-Hawk it made the trick!  ;-)

in the meanwhile i had a successful try at it but it's nasty compared
to your prop:

$('#dsViewport h3').each(function(index){
                 var $this = $(this);
                         var $text= $this.text();
                         tempClass = ($text == selected) ? 
'selected':'notSelected';
                         var tempB = $('<li></li>');
                        $('<a></a>')
                         .attr({
                                'title': 'jump to ' + $this.text(),
                                'href': '#' + $this.text(),
                                'id': 'pc-' + index
                          })
                          .text($text)
                          .addClass(tempClass)
                          .appendTo($(tempB));
                          tempB.appendTo('#mainmenu_level2');
                         })


thanks!

On 13 déc, 18:35, Karl Swedberg <[EMAIL PROTECTED]> wrote:
> Hi Alexandre,
>
> I think an element needs to be inserted in the DOM before it can be
> wrapped. Try it this way:
>
> $('<ul id="mainmenu_level2" class="mycarousel mainmenu jcarousel-skin-
> labau"></ul>').appendTo('#header');
> $('#dsViewport h3').each(function(index){
>                          var $this = $(this);
>                          $('<a></a>')
>
>                          .attr({
>                                 'title': 'jump to ' + $this.text(),
>                                 'href': '#' + $this.text(),
>                                 'id': 'pc-' + index
>                           })
>                           .text($this.text())
>
>                           .appendTo('#mainmenu_level2')
>
>                         .wrap('<li></li>');
>
> });
>
> Let us know if that does the trick. Also, I added a closing </ul> tag
> for you in the first line. Not sure if it's necessary, but it feels
> better to me. One more thing... you had 2 .attr() methods for the same
> element, so I combined them. :)
>
> Cheers,
>
> --Karl
> _________________
> Karl Swedbergwww.englishrules.comwww.learningjquery.com
>
> On Dec 13, 2007, at 10:00 AM, Alexandre Plennevaux wrote:
>
>
>
> > hi!
>
> > i'm trying to create a menu on the fly, by parsing selectors and
> > creating a unordered list, but i must be getting the wrap(() function
> > wrong as that bit does not get generated:
>
> > $('<ul id="mainmenu_level2" class="mycarousel mainmenu
> > jcarousel-skin-labau">').appendTo('#header');
> > $('#dsViewport h3').each(function(index){
> >                     var $this = $(this);
> >                     $('<a></a>')
>
> >                     .attr({
> >                            'title': 'jump to ' + $this.text(),
> >                            'href': '#' + $this.text()
> >                      })
> > .wrap('<li></li>')
> >                      .text($this.text())
> >                      .attr('id', 'pc-' + index)
>
> >                      .appendTo('#mainmenu_level2');
> > });
>
> > in the generated html, the a elements are created, but they are not
> > wrapped in  LI 's, ( which do not appear anywhere by the way).
>
> > Any idea what i'm doing wrong?
>
> > --
> > Alexandre Plennevaux
> > LAb[au]
>
> >http://www.lab-au.com

Reply via email to