1. ホーム
  2. javascript

[解決済み] jqueryを使用して要素の種類を変更する方法

2022-02-04 23:16:09

質問

次のようなコードがあります。

<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/