Lo siento por mi mal inglés pero,
Estoy tratando de hacer un bucle de todos los elementos secundarios en la matriz, pero sigue haciendo un bucle solo con el primer elemento, sin embargo, cuántos elementos hay dentro del padre
$(".js-drawer-open-cart").on("click", function (event) { var items = []; $(".cart__items .cart__item").each(function () { let product_title = $(".cart__item--name").attr("data-product-title"); let product_id = $(".cart__item--name").attr("data-product-id"); let product_variant = $(".cart__item--name").attr("data-product-variant"); let product_quantity = $(".cart__item--name").attr("data-product-quantity"); let product_price = $(".cart__item--name").attr("data-product-price"); dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. var item = {}; item.item_name = product_title; item.price = product_price; item.item_brand = "El grande Porto"; item.item_variant = product_variant; item.quantity = product_quantity; items.push(item); }); dataLayer.push({ event: "view_cart", ecommerce: { items: items, }, }); });Me funciona gracias a la respuesta de epascarello:
Todo lo que tenía que hacer es esto:
$(this).find(".cart__item--name").attr("data-product-title");$(".cart__items .cart__item").each itera sobre todos los elementos que coinciden con el selector dado, no los elementos secundarios de ese elemento. Si solo debe haber una coincidencia, intente tomar el primer elemento y recorrer sus elementos secundarios.
Ejemplo: $(".cart__items .cart__item").first().children().each