我的网站上有产品列表(html文章元素)
var addToBasket = document.getElementsByClassName('add_to_basket')
var productSummary = document.getElementsByClassName('product_summary')
for (var i=0; i < productSummary.length; i++){
var productTitle = productSummary[i].children[1].innerHTML
var productPrice = productSummary[i].children[2].innerHTML
var productObject = {
title: productTitle,
price: productPrice,
quantity: 1
}
productSummary[i].children[3].addEventListener('click', function(e){
e.preventDefault();
console.log(this, 'this');
console.log(productObject, 'po4');
})
}
这个代码所做的基本上是找到该类的所有元素,然后迭代它们并附加一个事件监听器。
每篇文章都有一个按钮,其中包含一个孩子。当我点击该按钮时,我希望它会在我的productObject中返回产品详细信息。
当我console.log(this)
我得到该特定元素中的按钮时。即,当我点击产品A时,它会记录我的A元素,当我点击产品B时,它会记录我的B元素。但是,当我console.log(productObject)
时,它总是记录我的最后一个元素(产品B)。我如何附加它,以便为每个文章正确地存储对象中的细节?