如何使用JQuery为每个产品生成gtag项目列表

vsnjm48y  于 2023-05-22  发布在  jQuery
关注(0)|答案(1)|浏览(115)

这里有一个简短的产品列表供参考。我想在产品列表下面生成我的gtag。我该怎么做?

<div class="product">
    <div class="name">Audi</div>
    <div class="price">21.000</div>
</div>  
<div class="product">
    <div class="name">Opel</div>
    <div class="price">17.000</div>
</div>
<div class="product">
    <div class="name">Cadillac</div>
    <div class="price">33.500</div>
</div>

这里我需要 items 部分中的所有产品值。

<script>
gtag("event", "view_item_list", {
  item_list_id: "category_products",
  item_list_name: "Products from a category",
  items: [
    {
      item_name: "Audi",
      price: 21.000,
      index: 0
    },
    {
      item_name: "Opel",
      price: 17.000,
      index: 1
    },
    {
      item_name: "Cadillac",
      price: 33.500,
      index: 2
    }
  ]
});
</script>

使用下面答案中的方法更新了代码。现在,如果我传递products变量,它会在gtag(“event”,“view_item_list”行抛出语法错误。错误本身表示Uncaught SyntaxError:参数列表后缺少)

<script>

var products = [];
    
$(".product").each(function(i) {
  products.push({
    "name": $(this).find(".name").text(),
    "price": $(this).find(".price").text(),
    "index": i
  })
});

gtag("event", "view_item_list" {
  item_list_id: "category_products",
  item_list_name: "Products from a category",
  items: products
});

</script>
wrrgggsh

wrrgggsh1#

您可以使用.each循环,并在其中使用.find().text()方法获取name & price的值。然后,将生成的数组传递给gtag items部件。

演示代码:

var items = [];

$(".product").each(function(i) {
  items.push({
    "name": $(this).find(".name").text(),
    "price": $(this).find(".price").text(),
    "index": i
  })
})

console.log(items)
//pass items in your gtag
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="product">
  <div class="name">Audi</div>
  <div class="price">21.000</div>
</div>
<div class="product">
  <div class="name">Opel</div>
  <div class="price">17.000</div>
</div>
<div class="product">
  <div class="name">Cadillac</div>
  <div class="price">33.500</div>
</div>

相关问题