Как присвоить класс вложенным элементам массива?

У меня есть JSON, который я сохранил внутри переменной с именем фотографыInfo, и я получаю оттуда данные, но я хочу сделать следующее: я хочу показать теги, соответствующие каждому фотографу, с рамкой, данной каждому из них! как на этом фото Результат - Фото

Я использую литерал шаблона для отображения информации в HTML, на данный момент я использую метод join() для преобразования элемента в строку, но как я могу указать границу для каждого TAG?

Это мой код:

photographersInfo.forEach((item) => { 

  const photographersDiv = document.getElementById('container');
  const div = document.createElement("div");
  photographersDiv.appendChild(div);

  div.innerHTML = `
    <div class = "photographerContainer">
        <div class = "portraitBox">
          <img src = "${item.portrait}" alt = "photo">
        </div>
        <h1 class = "name">${item.name}</h1>
        <p class = "city">${item.city}, ${item.country}</p>
        <p class = "tagline">${item.tagline}</p>
        <p class = "price">${item.price}€/jour</p>
        <p class = "tags">${item.tags.join(" ")}</p>  
    </div>
    `   
});

Это мои данные JSON:

let photographersInfo = [
      {
        "name": "Mimi Keel",
        "id": 243,
        "city": "London",
        "country": "UK",
        "tags": ["#portrait", "#events", "#travel", "#animals"],
        "tagline": "Voir le beau dans le quotidien",
        "price": 400,
        "portrait": "/Photos/Portrait/MimiKeel.jpg"
      },
      {
        "name": "Ellie-Rose Wilkens",
        "id": 930,
        "city": "Paris",
        "country": "France",
        "tags": ["#sports", "#architecture"],
        "tagline": "Capturer des compositions complexes",
        "price": 250,
        "portrait": "/Photos/Portrait/EllieRoseWilkens.jpg"
      },
      {
        "name": "Tracy Galindo",
        "id": 82,
        "city": "Montreal",
        "country": "Canada",
        "tags": ["#art", "#fashion", "#events"],
        "tagline": "Photographe freelance",
        "price": 500,
        "portrait": "/Photos/Portrait/TracyGalindo.jpg"
      },
      {
        "name": "Nabeel Bradford",
        "id": 527,
        "city": "Mexico City",
        "country": "Mexico",
        "tags": ["#travel", "#portrait"],
        "tagline": "Toujours aller de l'avant",
        "price": 350,
        "portrait": "/Photos/Portrait/NabeelBrandford.jpg"
      },
      {
        "name": "Rhode Dubois",
        "id": 925,
        "city": "Barcelona",
        "country": "Spain",
        "tags": ["#sport", "#fashion", "#events", "#animals"],
        "tagline": "Je crée des souvenirs",
        "price": 275,
        "portrait": "/Photos/Portrait/RhodeDubois.jpg"
      },
      {
        "name": "Marcel Nikolic",
        "id": 195,
        "city": "Berlin",
        "country": "Germany",
        "tags": ["#travel", "#architecture"],
        "tagline": "Toujours à la recherche de LA photo",
        "price": 300,
        "portrait": "/Photos/Portrait/MarcelNikolic.jpg"
      }
    ]
Сопоставьтеitem.tags и создайте «тег» в каждом элементе.
Roy Bogado 24.12.2020 17:34
Поведение ключевого слова "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) для оценки ваших знаний,...
0
1
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Использовать карту:

${item.tags.map(d => `<span class = "tag">${d}</span>`).join(" ")}

где css может быть примерно таким:

.tag {
    border: 1px solid lightgray;
    border-radius: 20px; 
    padding: 5px;
}

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