Я использую API Wolfram Alpha с помощью прокси для получения XML-файла через AJAX, который отлично работает. Затем я использую find()
для поиска некоторых элементов pod
в этом XML-файле. Эти pod
s содержат изображения, которые я хочу встроить в свою страницу. Все идет нормально. Я получил изображения из файла и понял, как добавить их в контейнер. Вот где я попал в ловушку: изображения не появляются. Они там, когда я проверяю, но они не загружаются.Браузеры не загружают эти динамически вставленные изображения
Вот мой код JavaScript:
$.get(queryURL, function (data) {
var wapods = $(data).find("pod");
if (wapods.length !== 0) {
$("#container").html('<div id="wabox"><a href="http://www.wolframalpha.com/input/?i=' + query + '" title="Wolfram|Alpha results for: ' + readQuery + '"><img id="walogo" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Wolfram_Alpha_logo.svg/200px-Wolfram_Alpha_logo.svg.png" width="150" height="18" alt="Wolfram|Alpha"/></a></div>');
$("#wabox").append($(wapods[0]).find("img")[0])
.append($(wapods[1]).find("img")[0]);
}
});
Образ, который включается, когда появляется элемент создается, как и ожидалось. На двух других изображениях нет. При проверке в Firefox инспектор говорит: «Не удалось загрузить изображение». Это происходит и в Chrome. Это не из-за аддонов; это происходит и в новом профиле.
Мое лучшее предположение заключается в том, чтобы перейти от того, чтобы элемент в XML-файле вставлял его в HTML-DOM, но я не знаю.
Редактировать: если я щелкните правой кнопкой мыши и выберите «Редактировать как HTML» в инспекторе, измените одно, а затем выйдите из редактора, появится изображение. Почему бы и нет.
Спасибо за это, это именно то, что мне было нужно. Почему вы использовали '.first()' вместо '[0]'? Кроме того, именно почему * не может * вы просто перемещаете элемент? – Ian
@Ian: Я использовал 'first()' так, чтобы этот элемент все еще был завернут в объект jQuery, так что вы можете использовать 'clone()' на нем. Когда элемент создается, у него есть документ как владелец, см. [OwnerDocument] (https://developer.mozilla.org/en-US/docs/Web/API/Node.ownerDocument), и он не может изменить владельца. – Guffa
ОК, спасибо. Раньше я читал о владельцах, но до сих пор не понял его полностью. – Ian