在具有相同类的每个表上运行 jquery
Run jquery on each table with same classes
我正在生成多个表,我正在计算每个表的列总数。
以下内容非常适合第一个表,但是如果我删除":first",那么它会给我所有表的总和,这是我不想要的。
var total = 0;
jQuery('table.views-table:first td.views-field-qty').each(function()
{
var price = parseInt(jQuery(this).text());
if (!isNaN(price))
{
total += price;
}
});
jQuery('table.views-table:first').after('<p> Total Tickets Sold: <strong>' + total + '</strong></p>');
当所有类和 td 类都相同时,我如何为每个表执行上述操作,并在每个表下都有一个摘要。对表类进行编号不好,因为可能有任何数量。
将
表包装在 .each 循环中
jQuery('table.views-table').each(function(i,el){
var table = jQuery(el);
var total = 0;
table.find('td.views-field-qty').each(function()
{
var price = parseInt(jQuery(this).text());
if (!isNaN(price))
{
total += price;
}
});
table.after('<p> Total Tickets Sold: <strong>' + total + '</strong></p>');
});
您需要修改逻辑,以便对表调用each()
,然后在该表中的每个td
上再次调用。试试这个:
jQuery(function($) {
$('table.views-table').each(function() {
var $table = $(this), total = 0;
$table.find('td.views-field-qty').each(function() {
total += parseInt(jQuery(this).text(), 10) || 0;
});
$table.after('<p> Total Tickets Sold: <strong>' + total + '</strong></p>');
});
});
请注意,您可以通过使用 ||
运算符作为为变量提供默认值的快捷方式来消除对 if
语句的需求。
相关文章:
- 对动态创建的元素运行jQuery.ech()
- 如何在加载角度函数后运行jQuery代码
- 在AJAX jQuery加载()之后运行jQuery代码
- 如何仅在设备基于 iOS 时运行 jQuery 代码
- 使用 .on 函数运行 jQuery 声明函数
- html代码没有运行jquery问题
- 仅在尚未运行jQuery UI的情况下运行动画
- 在运行jquery之前从5开始倒计时
- 在不重新运行jquery验证的情况下检查表单是否有效
- 在Angular App中运行jQuery函数
- 一旦设置了PHP查询字符串,如何运行jQuery脚本
- 如何在Ember中更改模板时运行JQuery代码
- 如果URL包含字符串don't运行jQuery函数
- 在php之前运行jQuery脚本
- 无法动态地将 jquery 添加到头部并运行 jquery 代码
- 在 HTML 中运行 jquery 脚本
- 如何在控制器外部和视图内在 AngularJs 中运行 jQuery
- 在具有相同类的每个表上运行 jquery
- 在 Angular 完成渲染后运行 JQuery 代码
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery