建立在Felix的答案上。
$(‘code’).replaceWith(function() {
var replacement = $(‘
').html($(this).html());
for (var i = 0; i < this.attributes.length; i++) {
replacement.attr(this.attributes[i].name, this.attributes[i].value);
}
return replacement;
});
这将code在替换pre标签中复制标签的属性。
编辑:这将取代甚至code是里面的标签innerHTML等的code标签。
function replace(thisWith, that) {
$(thisWith).replaceWith(function() {
var replacement = $(”).html($(this).html());
for (var i = 0; i < this.attributes.length; i++) {
replacement.attr(this.attributes[i].name, this.attributes[i].value);
}
return replacement;
});
if ($(thisWith).length>0) {
replace(thisWith, that);
}
}
replace(‘code’,’pre’);