Проблема в том, что вы пропускаете кавычки вокруг значения в теге, но вы не можете просто добавить кавычки, потому что они все равно прервутся, если текст описания содержит кавычки.
Вместо этого попробуйте это.
var desc = div.text();
div.replaceWith(
$('<img />', {
"class": "center",
"src": url,
"data-desc": desc
})
);