2012-05-23 57 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()

相关问题