如何使用jQuery/plain旧javascript更改元素(例如h1 - > h2)?

Bob*_*ack 0 javascript jquery

当然,存在与文档有效性相关的一系列可能的错误,但是当将paragraph(p)更改为address元素时,会发生我的直接障碍.我当前的方法是(或多或少):

var p = $('p#test');
p.replaceWith('<address>' + p.html() + '</address>');
Run Code Online (Sandbox Code Playgroud)

但这个具体案例没有成功; 它适用于p - > blockquote或h2 - > h3.Firebug建议<address/>由于某种原因在文档中添加了一个自闭元素().

任何人都可以发现错误或建议替代方法吗?

Dan*_*idy 9

var p = $('p#test');
var a = $('<address></address>').
    append(p.contents());
p.replaceWith(a);
Run Code Online (Sandbox Code Playgroud)

您的解决方案受到各种可怕的HTML转义问题以及可能的注入攻击.