如何使用JQuery或JavaScript删除表中的所有链接?

如何使用JQuery或JavaScript删除表中的所有链接?,javascript,jquery,Javascript,Jquery,我有一个表,我想导出到Excel,但我不想通过任何超链接。可能吗 我注意到在线程中正在执行类似的操作 但我觉得这和我需要的不一样 如果可能的话,我还想将文本保留在标签内 例如: <table class="surveyTable" id="Summary"> <tr> <th>Section</th> <th title="3584"> <a href="test.p

我有一个表,我想导出到Excel,但我不想通过任何超链接。可能吗

我注意到在线程中正在执行类似的操作 但我觉得这和我需要的不一样

如果可能的话,我还想将文本保留在标签内

例如:

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

部分
...
我希望能够在不保留href的情况下导出上述内容,但仍保留“Call 1”,但这可能是不可能的

谢谢

试试这个:

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

是的,这应该相当简单,使用函数回调签名
replaceWith

$('#summary a').replaceWith(function() {
    return this.childNodes;
});
它删除每个
元素并用其所有子节点替换每个元素。这意味着您可以保留任何格式

如果您只想使用纯文本,这也很容易实现:

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

我还没有测试语法的正确性,但是,按照以下思路应该可以做到:

$('#Summary a').each( function() {
   $(this).parent().html($(this).html());
}

我相信这会解决您的问题。

您可以使用下面的代码轻松地完成这项工作,jQuery将处理所有
a
的循环,并用其中的文本替换它们

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


您想保留什么文本?哪一个?谢谢大家,反应很快!debianek,我想保留的文本是Call 1。我现在有答案,但谢谢你的提问。可能重复:OP没有要求,但如果你只是想删除这些链接,就做吧<代码>$(“#您的CSSSelector a”).remove();)
 $('#Summary a').contents().unwrap();
$('.surveyTable tr th a, .surveyTable tr td a').each(function(){
   $(this).replaceWith($(this).text());
});​