По картинке результат полностью соответствует. Валидатор одобряет.
var renderCards = function (cardInfo) {
var listItem = document.querySelector('.goods');
var bildElement = function (tagName, className, text, imgUrl) {
var element = document.createElement(tagName);
element.classList.add(className);
if (text) {
element.textContent = text;
}
if (imgUrl) {
element.src = imgUrl;
element.alt = text;
}
return element;
};
var createCard = function (cardInfo) {
var card = bildElement('li', 'good');
var title = bildElement('h2', 'good__description', cardInfo.text);
var image = bildElement('img', 'good__image', cardInfo.text, cardInfo.imgUrl);
var price = bildElement('p', 'good__price', cardInfo.price);
price.textContent = cardInfo.price + '₽/кг';
card.appendChild(title);
card.appendChild(image);
card.appendChild(price);
var available = 'good--available';
if (!cardInfo.inStock) {
available = 'good--unavailable';
}
card.classList.add(available);
if (cardInfo.isHit) {
card.classList.add('good--hit');
var specialOffer = bildElement('p', 'good__special-offer', cardInfo.specialOffer);
card.appendChild(specialOffer);
}
listItem.appendChild(card);
};
for (var i = 0; i < cardInfo.length; i++) {
createCard(cardInfo[i]);
}
};
renderCards(cardsData);