Jquery 从字符串中删除所有出现的锚定标记,同时保留其内部文本节点

Jquery 从字符串中删除所有出现的锚定标记,同时保留其内部文本节点,jquery,string,strip,Jquery,String,Strip,我有一个HTML字符串。我想改变这一点: <table > <tr> <td><a href="/link.html" onclick="javascript:aFunction()">some text</a></td> <td><a href="/anotherlink.html">some more text</a></td>

我有一个HTML字符串。我想改变这一点:

<table >
  <tr>
      <td><a href="/link.html" onclick="javascript:aFunction()">some text</a></td>
      <td><a href="/anotherlink.html">some more text</a></td>           
  </tr>
</table>

为此:

<table >
  <tr>
      <td>some text</td>
      <td>some more text</td>           
  </tr>
</table>

一些文本
更多的文字

在jQuery 1.4+中,您可以将函数传递给,如下所示:

​$("table a")​.replaceWith(function() { return this.innerHTML; });​
var html = '<table>...{rest of string}...</table>';
var o=$(html).find('a').replaceWith(function(){ return this.innerHTML; }).end();​

如果您确实有一个字符串,而不是元素,它将如下所示:

​$("table a")​.replaceWith(function() { return this.innerHTML; });​
var html = '<table>...{rest of string}...</table>';
var o=$(html).find('a').replaceWith(function(){ return this.innerHTML; }).end();​
var html='…{string的其余部分}…';
var o=$(html).find('a').replaceWith(函数(){return this.innerHTML;}).end();​

.

+1,用于编辑以使用innerHTML。如果代码示例考虑到他有一个HTML字符串,而不是要处理的DOM,这将是一个理想的选择。@Josh-这个问题的要点很好,在上面添加了一个字符串版本:)这个问题是因为我缺乏jquery的能力,但我正试图处理一个HTML字符串(var htmlstr=“…”;@user449996-参见第二个示例和演示(如果你看不到,请刷新页面),它还显示了如何使用字符串。如果你不想在末尾添加元素,你仍然需要字符串,下面是一个版本:哇!很难跟上响应:-)谢谢大家!很抱歉问了这个愚蠢的问题,因为我不太理解jquery。我拥有的是一个实际的字符串(var htmlstr='..';)。该解决方案如何用于字符串htmlstr?