我打印出一个产品阵列到屏幕上。每个产品都有一个删除按钮正在打印。代码如下: -点击方法jQuery上没有被数组元素调用
const output = document.getElementById('output');
function delete_item(){
var id = $(this).attr('data-id');
console.log("ID " + id);
}
let productsArray = [];
$.getJSON('/products', products => {
let outputContent = '';
productsArray = Object.values(products);
productsArray.forEach(product => {
outputContent += `<div data-id="${ product.ID }">
<div id='edit'><i class='fa fa-pencil-square-o' aria-hidden='true'></i></div>
<div id='delete'><i class='fa fa-trash-o' aria-hidden='true'></i></div>
<div id='product'> <span class='name'> <a href=''>${product.NAME}</a></span>
<span class='price'>Price: £${product.PRICE}</span>
</div>`;
});
$('#delete').click(function(){
delete_item();
});
output.innerHTML = outputContent;
});
目前,我只想使用delete_item函数打印出正确的产品ID。但是,该函数从不被调用。
是我的.click()
函数在删除div的范围内,为什么在点击删除div时没有调用click()
函数?
您还应该创建html dom元素_before_将事件附加到它们。 –