替换元素并保留属性

时间:2013-12-03 16:40:33

标签: jquery dom replacewith

以下几乎可以用lis替换span[data-type="yesno"]的所有实例,但是我还要保留属性,类等。有没有办法以与HTML?

$('span[data-type="yesno"]').replaceWith(function(){
    return $("<li>", {html: $(this).html()});
})

1 个答案:

答案 0 :(得分:12)

你必须循环你的元素属性:

$('span[data-type="yesno"]').replaceWith(function(){
   $li = $("<li>", {html: $(this).html()});
   $.each(this.attributes, function(i, attribute){
        $li.attr(attribute.name, attribute.value);
  });
  return $li;
})