[jQuery] replaceWith()

[jQuery] replaceWith()


I want to replace one element with another, and keep the element
contents intact. For example, here, I'm replacing all h2 elements
with h3's:
$("a #replaceWith").click(function () {
var h2Text = $("h2").text();
$("h2").replaceWith("<h3>" + h2Text + "</h3>");
});
I have two questions.
First, how can I do this more simply? I tried the following, but $
(this) refers to the anchor tag and not the h2 selector. Is there a
way in jQuery to refer to the selector, i.e. $("h2")?
$("a #replaceWith").click(function () {
$("h2").replaceWith("<h3>" + $(this).text + "</h3>");
});
My second question: Is there a method more appropriate than
replaceWith to replace certain elements on the apge with others?
Thank you!