2017-02-14 20 views
0

モバイルデバイスにはホバー状態がないため、これらの子要素があるたびに最初のil要素のリンクを削除してクローンを作成しようとしています自分自身の子供として(リンクあり)。すべての親要素からリンクを削除して子要素としてクローンする方法

<ul id="menu-header-menu"> 

    <!--this li has children so link should be removed --> 
    <li class="menu-item-has-children"><a href="http://url.com/porfolio">Portfolio</a> 
     <ul class="sub-menu"> 
      <li><a href="http://url.com/paint">Painting</a></li> 
      <li><a href="http://url.com/vid">Video</a></li> 

     </ul> 
    </li> 

    <!--this li doesn't have children so link should NOT be removed --> 
    <li><a href="http://url.com/about">About</a></li> 
</ul> 

そして、私はフッターメニューで同じことをやってみたい:

<ul id="menu-footer-menu"> 

    <!--this li has children so link should be removed --> 
    <li class="menu-item-has-children"><a href="http://url.com/links">Links</a> 
     <ul class="sub-menu"> 
      <li><a href="http://url.com/doc">Documents</a></li> 
      <li><a href="http://url.com/ext">Extra</a></li> 
      <li><a href="http://url.com/photo">Photos</a></li> 
     </ul> 
    </li> 

    <!--this li doesn't have children so link should NOT be removed --> 
    <li><a href="http://url.com/contact/">Contact</a></li> 
</ul> 

私は要素IDのを避けるためにしようとしていますので、私はWordPressのウェブサイト上のPHPでこのHTML構造を生成しています。

私はこのjQueryスクリプトを試していますが、両方のメニュー(ヘッダーとフッター)に両方のクローンをクローンするので、各メニューに1つずつ2つのクローンがあります。

if($(window).width() <= 980){ 
    $('ul#menu-footer-menu').each(function() { 
     $(this).find('a:first').clone().appendTo("ul.sub-menu"); 
     $(this).find('a:first').contents().unwrap(); 
    }); 
    $('ul#menu-header-menu').each(function() { 
     $(this).find('a:first').clone().appendTo("ul.sub-menu"); 
     $(this).find('a:first').contents().unwrap(); 
    }); 
} 

私に手を差し上げることはできますか?

答えて

0

[OK]を取得します。私はちょうどクローン化されたliを追加する適切な場所をターゲットにする必要がありました。

if($(window).width() <= 980){ 
    $('ul#menu-footer-menu').each(function() { 
     $(this).find('a:first').clone().appendTo("ul#menu-footer-menu > li.menu-item-has-children > ul.sub-menu"); 
     $(this).find('a:first').contents().unwrap(); 
    }); 
    $('ul#menu-header-menu').each(function() { 
     $(this).find('a:first').clone().appendTo("ul#menu-header-menu > li.menu-item-has-children > ul.sub-menu"); 
     $(this).find('a:first').contents().unwrap(); 
    }); 
} 
関連する問題