2012-05-23 56 views
1

我有一張表,我想要導出到Excel,但我不希望任何超鏈接通過。那可能嗎?如何使用JQuery或JavaScript刪除表中的所有鏈接?

我注意到在線程 JQuery remove images中正在做類似的事情,但是我不是和我需要的東西完全一樣嗎?

如果可能,我還想保留標籤內的文字?

例子:

<table class="surveyTable" id="Summary"> 
    <tr> 
     <th>Section</th> 
     <th title="3584"> 
      <a href="test.php?id=3584"> 
       Call 1 
      </a> 
     </th> ... 

我想有出口上面,而不在href但保留了「呼1」,但也許這是不可能的能力嗎?

謝謝!

+0

你想保留什麼短信?在哪一個? – debianek

+0

謝謝大家,非常快速的迴應! debianek,我想保留的txt是電話1.我現在有答案,但是謝謝你的提問。 – richie

+0

可能的重複:http://stackoverflow.com/questions/2556051/remove-links-with-javascript –

回答

6

是的,這應該是相當簡單的,使用的replaceWith的回調函數簽名:

$('#summary a').replaceWith(function() { 
    return this.childNodes; 
}); 

,消除各a元素,並替換每一個與它的所有子節點。這意味着你保持任何格式。

如果你想只是純文本,這也將是很容易實現:

$('#summary a').replaceWith(function() { 
    return $.text([this]); 
}); 
+0

謝謝,這完美的技巧! – richie

+0

OP沒有要求,但*如果你只是想刪除這些鏈接*只是做。 。 。 ..。 。 ..。 ..'$('#yourCssSelector a')。remove();';) –

1

試試這個:

$('th a').each(function(){ 
    $(this).replaceWith($(this).text()) 
}) 
0

我沒有測試過的語法的正確性,但是,這些方針的東西應該工作:

$('#Summary a').each(function() { 
    $(this).parent().html($(this).html()); 
} 
0
$("#Summary").find('a').each(function(){ 
    $(this).attr('href','#'); 
}); 

我相信這會解決你的目的。

6

你可以用下面的代碼輕鬆做到這一點,jQuery將處理循環遍歷所有的a並用其中的文本替換。

$('#Summary a').contents().unwrap(); 

Working Fiddle

$.unwrap()