在foreach jquery中指定元素

时间:2015-07-05 10:47:09

标签: javascript jquery foreach each google-datalayer

我正在尝试执行.each功能,将搜索结果页面上每个产品的展示次数推送到dataLayer。我很难弄清楚如何在foreach中指定$(this)元素。我不确定这是做我想要的最好的方式,所以如果有人有更好的方法,请告诉我:)

希望我有意义! 谢谢!



<script>
 $(function () {
            $(".result-price-carpark-name span, .result-price-actual").each(function(index) {
            console.log( index + ": " + $( this ).text() );
            var carpark = $(this).text(); //How to specify its $(this) inside the .result-price-carpark-name span??
            var price = $(this).text(); //How to specify its $(this) inside the .result-price-actual??
            
             dataLayer.push({
            'ecommerce': {
            'currencyLocal': 'USD',
            'impressions': [{
            'name': carpark,
            'id': carpark,
            'price': price,
            'category': carpark,
            'list': 'ParkAstro',
            'position': ''
            }]
            }
            })
            })
        });

</script>
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="result-prices-item">
<div class="result-price-carpark-name"><span>PARK1</span></div>
<div class="result-price-actual">22</div>
</div>

<div class="result-prices-item">
<div class="result-price-carpark-name"><span>PARK2</span></div> 
<div class="result-price-actual">22</div>
</div>

<div class="result-prices-item">
<div class="result-price-carpark-name"><span>PARK3</span></div> 
<div class="result-price-actual">22</div>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

如果您想要遍历每个停车场项目,那么您需要遍历每个停车场项目(即,不是孩子)。然后,在该循环中,您可以使用可选的context parameter来获取子项(也就是该特定项的名称和价格)。

$(".result-prices-item").each(function() {
    $('.result-price-carpark-name', this).text();
    $('.result-price-actual', this).text();
});