使用jquery保留属性时替换元素名称

时间:2010-05-21 20:06:56

标签: jquery attributes tags elements bold

我正在尝试创建一个jquery设置,其中<i>的所有实例都更改为<em>。这很容易做到:

$("i").each(function(){
    $(this).replaceWith($('<em>' + this.innerHTML + '</em>'));
});

但我弄清楚的是如何更改所有<i>标签但保留每个标签的个别属性。因此,如果我<i style="background-color: #333;" alt="Example" title="Example">Example Text</i>,我希望将其更改为<em style="background-color: #333;" alt="Example" title="Example">Example Text</em>

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

错误接近IMO。

我建议直接在DOM中替换实际的元素。也许这个问题有帮助:

jQuery convert DOM element to different type

答案 1 :(得分:0)

很简单

$(本).attributes();将为每个实例提供i标记的所有属性,只需将其放入替换函数即可。

我不知道你怎么能玩一个函数,但在我的知识代码中会是这样的。

$("i").each(function(){
var attribute = $(this).attributes();
$(this).replaceWith($('<em'+attributes+'>'
     

+ this.innerHTML +''));       });

希望它有所帮助。