-1

HTML:

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

私がしたいのは、「a」の「link」を検索し、「table」を除くすべての親タグをSTRIPすることです。それを行うのに理想的な方法ではないことは知っていますが、マークアップを変更できない場合もあるので、このためのjqueryハックを知っておくと便利です。

4

1 に答える 1

5
var a = $("a:contains('link')");
var table = a.closest('table');
a.insertBefore( table );        // Edit: See comments below
table.contents().remove();
table.append( a );

編集:呼び出すremove()と、アンカー要素にアタッチされている可能性のあるイベントハンドラーもすべて削除されます。これを回避するには、アンカーの内容を削除する前に、アンカーをテーブルの外に移動します。

于 2009-11-01T17:31:53.223 に答える