jQuery:jak změnit název značky?

jQuery:jak změnit název značky?

Například:

<tr>
    $1
</tr>

potřebuji

<div>
    $1
</div>

Ano, mohu

  1. Vytvořte prvek DOM
  2. Zkopírujte obsah tr do div
  3. Odebrat tr z dom

Ale mohu to udělat přímo?

PS:

    $(tr).get(0).tagName = "div"; 

výsledkem je DOMException .

Odpověď

Jakékoli značky HTML můžete nahradit pomocí .replaceWith() jQuery metoda.

příklad:http://jsfiddle.net/JHmaV/

Ref.:.replaceWith

Pokud chcete zachovat stávající označení, můžete použít kód takto:

$('#target').replaceWith('<newTag>' + $('#target').html() +'</newTag>')