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

时间:2010-09-16 21:17:13

标签: 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>           
  </tr>
</table>

进入这个:

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

2 个答案:

答案 0 :(得分:2)

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

​$("table a")​.replaceWith(function() { return this.innerHTML; });​

You can give it a try here

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

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

You can try that version here

答案 1 :(得分:0)

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