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

ric*_*hie 2 javascript jquery

我有一个表,我想导出到Excel但我不希望任何超链接通过.那可能吗?

我注意到在JQuery删除图像的线程中正在做类似的事情, 但我不是和我需要的一样吗?

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

例:

<table class="surveyTable" id="Summary">
    <tr>
        <th>Section</th>
        <th title="3584">
            <a href="test.php?id=3584">
                Call 1
            </a>
        </th> ...
Run Code Online (Sandbox Code Playgroud)

我希望有能力导出上面没有href但仍保留"呼叫1",但也许这是不可能的?

谢谢!

lon*_*day 8

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

$('#summary a').replaceWith(function() {
    return this.childNodes;
});
Run Code Online (Sandbox Code Playgroud)

这将删除每个a元素并用其所有子节点替换每个元素.这意味着您保留任何格式.

如果你想要纯文本,那也很容易实现:

$('#summary a').replaceWith(function() {
    return $.text([this]);
});
Run Code Online (Sandbox Code Playgroud)


Pra*_*Nag 6

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

 $('#Summary a').contents().unwrap();
Run Code Online (Sandbox Code Playgroud)

工作小提琴

$ .unwrap()