Проблема в том, что вы вставляете произвольный HTML-код в исходный документ. Браузер не может знать, что данные на самом деле взяты из другого документа. Вот разбивка того, что происходит:
DOM (до):
<html><body>
<div id="insert-here"></div>
</body></html>
DOM (после):
<html><body>
<div id="insert-here"><img src="foo.png"></div>
</body></html>
Тот факт, что рассматриваемый фрагмент HTML был взят из какой-либо другой ссылки html, теряется из-за способа вставки данных. Я бы сказал, что самое простое решение - это изменить пути в файле ajax-content.html. Вы можете сделать это либо в самом файле (возможно, автоматически через любой инструмент, загружающий плагины ajax), либо изменить пути после загрузки документа. Так что вместо того, чтобы делать
$("#insert-here").load("x/ajax-content.html");
Вам нужно получить данные, затем настроить любые пути, а затем вставить данные в DOM.
function updatePaths(responseText, textStatus, XMLHttpRequest) {
// check xmlHttpRequest status code
// parse responseText, fix up relative URLs
}
$("#insert-here").load("x/ajax-content.html", null, updatePaths);