2014-06-11 22 views
1

我在做一個語言切換,其中包含2種語言。如何在單擊其中一個之後互換href屬性的位置?

目前尚不清楚當前選擇何種語言,所以我想將2個href屬性互相交換,以便更清晰。

有人可以告訴我我必須使用哪些選擇器來完成該選擇嗎?

在此先感謝

<div class="language-holder"> 
    <div class="language-select"> 
      <a class="eng" href="#">English</a> 
      <ul> 
        <li><a class="du" href="#">Dutch</a></li> 
      </ul> 
    </div> 
</div> 


$('.language-select a').click(function() { 
     var parent = $(this); 

     if ($(this).hasClass('eng')) { 
     } 
     else if($(this).hasClass('du')){ 
     } 
}); 
+2

爲什麼你會切換相同的href? –

+0

你的標記與'ul'內外的鏈接很奇怪。爲了便於使用,只需爲每種語言保留一個鏈接即可。將粗體或類似的活動語言標記爲指示,選擇哪種語言。 –

+0

你可以添加一個'current'類...類似於這樣的http://jsfiddle.net/QwCF9/ – Bhavik

回答

0

試試這個可以交換類和HREF都

$('.language-select a').click(function() { 
     if ($(this).hasClass('eng')) { 
      $(this).removeClass('eng').addClass('du').attr('href',$('.language-select a[class="du"]').attr('href')); 
     } 
     else if($(this).hasClass('du')){ 
      $(this).removeClass('du').addClass('eng').attr('href',$('.language-select a[class="eng"]').attr('href')); 
     } 
}); 
0

你說這個?

$('li a').click(function() { 
     var clone = this; 
     var top = $('.language-select a'); 
     $('.language-select').remove(top); 
     $('.language-select').append(clone); 
     $('li a').remove(clone); 
     $('li a').append(top); 
}); 
1

只需使用類current並將其分配給最近單擊的元素。

$('.language-select').on('click', 'a', function() { 
    $('.current').removeClass('current'); 
    $(this).addClass('current'); 
}); 

DEMO

相關問題