2011-06-14 90 views
0

我有一個page with a lot of hrefs列在錶行中。用戶可以根據選擇來隱藏/顯示錶格行。我想臨時將重複項的hrefs更改爲純文本。刪除重複的錨標記

我的想法是做一個

$('a').each(function() { 
}); 

然後在每個一元,使用nextUntil方法來改變等於this.href任何鏈接轉換成文本。但是當用戶選擇隱藏/顯示不同的選擇時,我該怎麼辦?如何刷新鏈接並根據新的過濾器隱藏重複項?

我想我可以刷新頁面,但那不會像性感一樣。

回答

2

我不完全明白你的問題,但看這確實你需要什麼:

(function(global) 
{ 
    var $ = global.jQuery, 
     uniqueHREFs = {}; 

    $(function() 
    { 
    var $matrixTable = $('#matrix'), 
     $matrixTableChildren = $matrixTable.children().detach(); 

    $matrixTableChildren.find('a').each(function() 
    { 
     var $this = $(this), 
      HREF = $this.attr('href'); 

     if(typeof uniqueHREFs[HREF] !== 'undefined') 
     { 
     $this.replaceWith(
      $('<span>').addClass('duplicate-link-replacement').html($this.html()) 
     ); 
     } 
     else 
     { 
     uniqueHREFs[HREF] = true; 
     } 
    }); 

    $matrixTable.append($matrixTableChildren); 
    }); 
}(window)); 

它重複你的表,將各擊中HREF它以前沒有見過的所有環節。當它碰到之前看到的一個時,它會用一個類別爲duplicate-link-replacement的跨度和鏈接以前具有的相同HTML取代它。

+0

哦!這是一個好主意!謝謝JAAulde! – 2011-06-14 20:49:23

+0

沒有概率,感謝讚美:) – JAAulde 2011-06-14 21:46:25