javascript - 如何使用 jquery 更改元素类型

标签 javascript jquery

我有以下代码

<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());
});

示例: http://jsfiddle.net/yapHk/

更新,这是一个插件:

(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);

示例: http://jsfiddle.net/mmNNJ/

关于javascript - 如何使用 jquery 更改元素类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584098/

相关文章:

javascript - 设置 Chart.js 圆环图中间文本的样式

javascript - 尝试使用 JS 在单击事件上应用类

javascript - 将 chrome 扩展选项保存到 chrome.storage?

javascript - 为什么所有跨度都被更改而不是一个?

javascript - Ajax - 为什么在 $.post() 中使用 JSON.parse(data) 和 dataType

javascript - FullCalendar 时区不工作

javascript - 单个按钮滚动顶部();尽管网页上的部分

javascript - 从 aspx 调用 Javascript 函数

javascript - Angular-ui-Calendar 中的 eventClick 不起作用

php - 使用 AJAX 调用时 POST 变量为 null