Убрать теги с помощью jQuery? - PullRequest
0 голосов
/ 01 ноября 2009

HTML:

<table>
  <tr>
    <td>
      <a href="#">link</a>
    </td>
  </tr>
</table>

Я хочу: НАЙТИ 'link' в 'a' и STRIP ВСЕХ родительских тегов, кроме / до 'table'. Я знаю, что это не идеальный способ сделать это, но иногда вы просто не можете изменить разметку, так что было бы здорово узнать jquery-хак для этого.

1 Ответ

5 голосов
/ 01 ноября 2009
var a = $("a:contains('link')");
var table = a.closest('table');
a.insertBefore( table );        // Edit: See comments below
table.contents().remove();
table.append( a );

Редактировать: вызов remove() также удалит все обработчики событий, которые могут быть присоединены к элементу привязки. Чтобы обойти это, переместите якорь за пределы стола перед удалением его содержимого.

...