重构我的coffescript代码以获得特定列值的总和
Refactoring my coffeescript code to get sum of particular columns values
这可能是个小问题,但我是coffeescript和javascript的新手,我正试图弄清楚如何重构下面的代码,以获得具有不同类名的两列的值的总和,并将其显示在我的html页面中。以下是迄今为止我得到的代码:
totalItems = ->
column= $("#websiteTable td[class=website_count]")
theTotal = 0
column.each ->
value = $(this).html()
theTotal += parseInt(value)
return
alert(theTotal)
newItems = ->
column= $("#websiteTable td[class=new_count]")
theTotal = 0
column.each ->
value = $(this).html()
theTotal += parseInt(value)
return
alert(theTotal)
正如你所看到的,有很多重复的代码,我该如何有效地重写?
感谢
calculateTotal = (element, total = 0) ->
element.each ->
value = $(@).html()
total += +value
total
然后你可以做:
totalItems = calculateTotal $ "#websiteTable td[class=website_count]"
newItems = calculateTotal $ "#websiteTable td[class=new_count]"
请参阅下面的实际示例。
var calculateTotal;
calculateTotal = function(element, total) {
if (total == null) {
total = 0;
}
element.each(function() {
var value;
value = $(this).html();
return total += +value;
});
return total;
};
$('button').on('click', function(){
alert(calculateTotal($('ul li')));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>2</li>
<li>4</li>
</ul>
<button>Calculate the total</button>
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何识别我的网站中的慢速设备
- 如何将JSON数据导入我的ejs模板
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 知道为什么我的旋转木马不会自动更改图片吗
- 我的模板未被解析
- 无法将数据从firebase获取到我的html页面
- 角度图表;t显示在我的页面中
- 我的AngularJS表达式没有'不起作用
- 将电视直播频道从网站嵌入我的网站
- /undefined在我的404错误日志中多次出现
- 为什么我的d3.jsselectAll+过滤器没有过滤
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 为什么我的coffescript函数没有执行
- 重构我的coffescript代码以获得特定列值的总和