Удалить все вхождения тегов привязки из строки, сохраняя при этом их внутренние текстовые узлы - PullRequest
2 голосов
/ 17 сентября 2010

У меня есть строка 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 ]

2 голосов
/ 17 сентября 2010

В jQuery 1.4+ вы можете передать функцию .replaceWith(), например:

​$("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();​

Вы можете попробовать эту версию здесь .

0 голосов
/ 17 сентября 2010
$(function(){
$('td a').each(function(){
   $(this).replaceWith($(this).text());
});
});
...