Как вернуть изображение из источника http в Javascript

У меня есть список словарей, содержащих данные, где каждый словарь имеет ключ «изображение» и значение в качестве источника изображения (http). 'picture': 'http://....', а также другие наборы ключ:значение.

Мне нужно вернуть html-страницу со списком имен и изображений, связанных со словарями.

Мне удалось вернуть список имен, но когда я пытаюсь вернуть изображения, он возвращает источник изображения в виде строки.

function add_people(data) {
    var element = document.getElementById('people');

    var list = "<ul>";
        for (var i=0; i<data.length; i++) {
            list += "<li>"
                + data[i].name
                + data[i].picture
                + "</li>"
        }
    list += "</ul>";

    element.innerHTML = list
}

Эта функция возвращает список имен с источником изображений, но не сами изображения, например.

  • Капитан Перций://robohash.org/8c4b1b5a-bb8f-489b-8102-a1e9634627e0

Помощь приветствуется, спасибо.

Вот для чего нужны теги <img>

charlietfl 08.04.2019 07:14
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
1 820
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Используйте тег <img> для отображения изображений из исходного файла. В теге <img> укажите источник изображения в атрибуте src.

<img src = "http://..." >
Ответ принят как подходящий

вам нужно будет добавить тег изображения внутри элемента списка, чтобы получить изображения

 function add_people(data) {
    var element = document.getElementById('people');

var list = "<ul>";
    for (var i=0; i<data.length; i++) {
        list += "<li>"
            + data[i].name
            + "<img src='"+data[i].picture+"' />"
            + "</li>"
    }
list += "</ul>";

element.innerHTML = list
 }

Спасибо большое, теперь я это полностью понимаю.

Matthew 08.04.2019 07:23

Использовать img-тег

<img src=`${url}`>

Используйте элемент <img>, если вы хотите показать изображение. Используйте атрибут src, чтобы указать элемент на источник. Вот измененный исходник.

function add_people(data) {
    var element = document.getElementById('people');

    var list = "<ul>";
        for (var i=0; i<data.length; i++) {
            list += "<li>"
                + data[i].name                  
                + "<img src=\"" + data[i].picture + "\"></img>"
                + "</li>"

        }
    list += "</ul>";

    element.innerHTML = list
}

Кроме того, вы можете использовать строки шаблона ES6, чтобы легко объединять строки для построения модели DOM.

list += `<li> ${data[i].name} <img src = "${data[i].picture}"></img></li>`

Вы должны использовать тег img и добавить данные изображения в качестве атрибута src. Вы также можете улучшить читаемость кода, используя литеральную строку.

function add_people(data) {
    var element = document.getElementById('people');

    var list = "<ul>";
        for (var i=0; i<data.length; i++) {
            list += `<li>
                      ${data[i].name}
                      <img src = "${data[i].picture}" />
                    </li>`
        }
    list += "</ul>";

    element.innerHTML = list
}


Другие вопросы по теме