所以我有一个填充了产品的列表元素,我需要计算最终价格,但要做到这一点,我需要找到女巫产品有相同的税费。
这样做我可以隔离它们,但是如何自动完成?我的意思是,如果我不知道税费怎么能找到不同的税收并加入呢?
希望我的英语很好,让自己清楚。
由于
$('#list').find('li').each(function(i) {
if($(this).attr('tax') == 6) {
console.log('6');
} else if($(this).attr('tax') == 13) {
console.log('13');
} else if($(this).attr('tax') == 23) {
console.log('23');
} else { }
});
答案 0 :(得分:2)
这将创建一个'data'对象,其属性是不同的税值,每个属性的值是匹配的DOM元素的数组。
var data = {};
$('#list').find('li').each(function(i) {
var tax = $(this).attr('tax');
if(!data[tax]) data[tax] = [];
var len = data[tax].length;
data[tax][len] = this;
});
答案 1 :(得分:1)
以这样的方式使用闭包对li项目进行分组,然后在对象中循环进行计算(如果更简单,则只在一次传递中进行...)
function calc_prices()
{
var tax_groups = {};
$('#list').find('li').each(function(i) {
if(!tax_groups[$(this).attr('tax')]) tax_groups[$(this).attr('tax')] = [];
tax_groups[$(this).attr('tax')].push($(this));
});
console.log(tax_groups);
//Do your math here by looping or accessing tax_groups
}