【问题标题】:loop elements in array jQuery数组jQuery中的循环元素
【发布时间】:2021-11-11 17:33:48
【问题描述】:

对不起,我的英语不好,但是,

我正在尝试循环数组中的所有子元素,但它只循环第一个元素,但是父元素中有多少元素

$(".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,
    },
  });

});

【问题讨论】:

  • 你能显示你的html代码吗?
  • $(this).find(".cart__item--name")

标签: javascript jquery loops


【解决方案1】:

$(".cart__items .cart__item").each 遍历与给定选择器匹配的所有元素,而不是该元素的子元素。如果应该只有一个匹配项,请尝试获取第一个元素并循环其子元素?

示例:$(".cart__items .cart__item").first().children().each

【讨论】:

  • 实际上我想定位每个在其父 .cart__items 中具有 .cart__item 类的 div 并将它们循环到一个数组中,但它只重复第一个元素 4 次
【解决方案2】:

感谢 epascarello 的回答,它对我有用:

我所要做的就是:

$(this).find(".cart__item--name").attr("data-product-title");

【讨论】:

  • 不要说谢谢别人回复作为答案,只需在评论部分输入即可
猜你喜欢
  • 2010-12-20
  • 1970-01-01
  • 2016-01-05
  • 2010-09-15
  • 1970-01-01
  • 2012-04-25
  • 2021-09-05
  • 2012-01-20
  • 1970-01-01
相关资源
最近更新 更多