Reemplazar elemento y preservar atributos

Lo siguiente casi funciona para reemplazar todas las instancias de span[data-type="yesno"] con lis, pero también me gustaría preservar los atributos, clases, etc. ¿Hay alguna forma de transferir los atributos de la misma manera? como el html?

 $('span[data-type="yesno"]').replaceWith(function(){ return $("
  • ", {html: $(this).html()}); })
  • Tienes que hacer un bucle en los atributos de tu elemento:

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