В чём тут ошибка? Код даёт визуально абсолютно тот же результат, что и в ожидаемом результате, я просто не вижу разницы. Что же не так?
Сводка
var makeElement = function (tagName, className, text) {
element.classList.add(className);
var element = document.createElement(tagName);
if (text) {
element.textContent = text;
}
return element;
};
var renderCards = function (product) {
var listItem = makeElement('li', 'good');
var title = makeElement('h2', 'good__description', product.text);
listItem.appendChild(title);
var picture = makeElement('img', 'good__image');
picture.src = product.imgUrl;
picture.alt = product.text;
listItem.appendChild(picture);
var price = makeElement('p', 'good__price', product.price);
listItem.appendChild(price);
var roubles = document.createElement('span');
roubles.textContent = `₽/кг`;
price.appendChild(roubles);
var availabilityClass = 'good--available';
if (!product.inStock) {
availabilityClass = 'good--unavailable';
}
listItem.classList.add(availabilityClass);
if (product.isHit) {
listItem.classList.add('good--hit');
var specialOffer = makeElement('p', 'good__special-offer', product.specialOffer);
listItem.appendChild(specialOffer);
}
return listItem;
};
var cardList = document.querySelector('.goods');
for (var i = 0; i < cardsData.length; i++) {
var cardItem = renderCards(cardsData[i]);
cardList.appendChild(cardItem);
}