我有以下代码

<b class="xyzxterms" style="cursor: default; ">bryant keil bio</b>

如何将b标签替换为h1标签,但保留所有其他属性和信息?

推荐答案

使用jQuery有一种方法:

var attrs = { };

$.each($("b")[0].attributes, function(idx, attr) {
    attrs[attr.nodeName] = attr.nodeValue;
});


$("b").replaceWith(function () {
    return $("<h1 />", attrs).append($(this).contents());
});

Example: http://jsfiddle.net/yapHk/

Update, here's a plugin:

(function($) {
    $.fn.changeElementType = function(newType) {
        var attrs = {};

        $.each(this[0].attributes, function(idx, attr) {
            attrs[attr.nodeName] = attr.nodeValue;
        });

        this.replaceWith(function() {
            return $("<" + newType + "/>", attrs).append($(this).contents());
        });
    };
})(jQuery);

Example: http://jsfiddle.net/mmNNJ/

Jquery相关问答推荐

bootstrap - Select Select 器不能在下拉菜单中 Select

使用带有 bootstrap 验证的 Ajax 函数时出现问题

Jquery $(this) 子 Select 器

表单提交之前的jQuery函数

将 HTML5 Canvas 转换为要上传的文件?

jQuery JSON到字符串?

如何正确卸载/销毁 VIDEO 元素

如何使用 jQuery Select 的插件重置表单?

将返回的 JSON 对象属性转换为(较低的第一个)camelCase

我可以将 Nuget 保留在 jQuery 1.9.x/1.x 路径上(而不是升级到 2.x)吗?

jQuery ajax 在 asp.net mvc 中上传文件

如何签入用户已在 Google recaptcha 中选中复选框的 js?

$(document).on("click"... 不工作?

jQuery Uncaught TypeError: 对象 [object Window] 的属性$不是函数

如何在新窗口中打开链接?

CSS3 相当于 jQuery slideUp 和 slideDown?

设置 JQuery event.preventDefault() 时绕过 window.open 上的弹出窗口阻止程序

如何使用 jQuery 检测 IE 8?

单击时平滑滚动到特定的 div

如何以编程方式触发 ngClick