Avatar billede fl370 Nybegynder
03. oktober 2012 - 08:00

javascript - <span> tags for top og undermener...

Hej drenge og piger.

Jeg har en lille udfordring som jeg håber I kan hjælpe med.
Jeg har efterhånden brugt alt for lang tid på den.
Jeg er ikke nogen haj til scripts i det hele taget så jeg sætter min lid til jer :D

Jeg har et Wordpress tema som i udgangspunktet IKKE understøtter undermenuer.
Jeg har dog behov for at tilføje en niveau's undermenu i temaet.
Det er sådan set også gået meget godt. MEN js scriptet genererer noget tekst (li_text) imellem 2 <span> tags.

Scriptet ser ud som følger:

var $main_menu = $('#main_menu');

        $main_menu.find('li').each( function(){
            var $this_li = $(this),
                li_text = $this_li.find('a').html();
               
            $this_li.find('a').html( '<span class="main_text">' + li_text + '</span>' + '<span class="menu_slide">' + li_text + '</span>' )
        } );

Det er selvfølgelig taget ud af en sammenhæng i en større js fil.

Teksten (li_text) er, så vidt jeg kan se, navnet på den pågældende side i Wordpress. Og dette bliver indsat inde i hver <span> tag.

Her er et udsnit af HTML koden:

<li id="menu-item-55" class="has_sub mcdu_right menu-item menu-item-type-post_type menu-item-object-page menu-item-55 odd">
      <a href="http://xxx.xx/?page_id=53">
        <span class="main_text">MEDIA</span>            <---- Se note 1 nedenfor
        <span class="menu_slide">MEDIA</span>          <---- Se note 1 nedenfor
      </a>
        <ul id="sub-menu" class="sub-menu" style="display: none;">
          <li id="menu-item-67" class="mcdu_sub mcdu_right menu-item menu-item-type-post_type menu-item-object-page menu-item-67">
            <a href="http://xxx.xx/?page_id=60">
              <span class="main_text">                          <-----  Se note 2 nedenfor.
                <span class="main_text">MEDIA</span>    <---- Se note 3 nedenfor.
                <span class="menu_slide">MEDIA</span>  <---- Se note 3 nedenfor.
              </span>
              <span class="menu_slide">
                <span class="main_text">MEDIA</span>    <---- Se note 4 nedenfor.
                <span class="menu_slide">MEDIA</span>  <---- Se note 4 nedenfor.
              </span>
            </a>
        </li>
        <li id="menu-item-66" class="mcdu_sub mcdu_right menu-item menu-item-type-post_type menu-item-object-page menu-item-66">
      </ul>
  </li>

Noter til ovenstående HTML:

1. Her indsætter scriptet det rigtige navn og HTML koden er som den skal være.

2 . Hvorfor oprettes der en <span> tag inde i en <span> tag???

3. Her skulle sidetitlen 'BILLEDER' være indsat - men i stedet indsættes sidetitlen fra top li. Hvorfor?

4. Her skulle sidetitlen 'VIDEO' være indsat - men i stedet indsættes sidetitlen fra top li. Hvorfor?


Problemet:

Som det fremgår af noterne ovenfor så handler det konkret om at jeg kan ikke få scriptet til at give 'li_text' sit navn fra den 'direkte' side over <span> tagget.
Den tager, så vidt jeg kan se, navnet fra sin 'top' li ....

Hvordan skal det ovenstående js script modificeres så jeg opnår at det rigtige navn bliver indsat i ALLE <span> tags`? og ikke kun i top level menuerne....

Der er 30 points på højkant her og jeg fordobler gerne ved en hurtig løsning.

ACTION .... ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester