2016-08-02 4 views
1

各要素の最後のクラスをjQueryの親li要素にコピーしようとしています。最後のクラスの要素をjQueryの別の要素にコピーする方法は?

これは、現在のマークアップです:私はコピーして、自分の親のliクラス= "メニュー項目のメニュー項目-タイプ - にメニューバスケット、メニュー・チャート、メニュー、トラックを渡したい

<nav class="menu-uber-main-menu-container"> 

    <ul class="menu"> 

     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item"> 
      <a href="#" class=""> 
       <i class="fa fa-shopping-cart fa-lg menu-basket"></i> 
       <span>Home</span> 
      </a> 
     </li> 


     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item"> 
      <a href="#" class=""> 
       <i class="fa fa-line-chart fa-lg menu-chart"></i> 
       <span>About</span> 
      </a> 
     </li> 


     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item"> 
      <a href="#" class=""> 
       <i class="fa fa-truck fa-lg menu-truck"></i> 
       <span>Blog</span> 
      </a> 
     </li> 


    </ul> 

</nav> 

post_typeメニュー項目オブジェクト・ページpage_item」

結果は次のようになります。

<ul class="menu"> 

     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-basket"> 
      <a href="#" class=""> 
       <i class="fa fa-shopping-cart fa-lg menu-basket"></i> 
       <span>Home</span> 
      </a> 
     </li> 


     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-chart"> 
      <a href="#" class=""> 
       <i class="fa fa-line-chart fa-lg menu-chart"></i> 
       <span>About</span> 
      </a> 
     </li> 


     <li class="menu-item menu-item-type-post_type menu-item-object-page page_item menu-truck"> 
      <a href="#" class=""> 
       <i class="fa fa-truck fa-lg menu-truck"></i> 
       <span>Blog</span> 
      </a> 
     </li> 


    </ul> 

</nav> 

要素の最後のクラスを取得するためのコードはこれです:

var lastClass = j('.menu-uber-main-menu-container > .menu > .menu-item > a > .fa').attr('class').split(' ').pop(); 

各li要素の各最後のクラスを関連付ける方法を教えてください。

+0

.each()は少し壊れやすいソースで最後のクラスを取得していない使用することができますか? – gcampbell

+0

'.children()'や '.parent()'に '.addClass()'を付けてみましたか? – AdamMcquiff

+0

要素に「最後のクラス」というものはありません。 'class'属性の値を文字列としてハッキングしようとしない限り、それらは任意の順序で格納されます。これは素晴らしい考えではありません。 –

答えて

2

あなたは

$('.menu-uber-main-menu-container > .menu > li').each(function(){ 
    var className = $(this).find('.fa').attr('class').split(' ').pop(); 
    $(this).addClass(className); 
}); 
+0

あなたは天才です!!!!!ありがとうございます –

+0

母!私にそれを打つ –

関連する問題