6

我有以下类,它选择 td.lineitemtotal 单元格内部的内容,并在 getTotal 函数中使用它来获取单元格的总数。但是,我不希望函数使用 tr.line_item_row 中带有 style="display:none;" 的行 属性。

$(document).ready(function() {
  var line = $('.item');
  // so the line totals are calculated on page load
  getLineItemTotals(line);

  var line_totals = $('.lineitemtotal');
  getTotal(line_totals); // So the total is calculated on page load.
});

// get invoce grand total
function getTotal(lines) {
  var total = 0;
  $.each(lines, function(){
    total += parseFloat($(this).html());
  });
  $('#total-price').html('$' + total.toFixed(2));
}
4

4 回答 4

11

你想要这个吗 ?

$('.lineitemtotal:visible');

该集合包含具有 class 的未隐藏元素lineitemtotal

于 2012-09-20T17:09:46.897 回答
4
var line_totals = $('.lineitemtotal:not([style*="display:none"])');
于 2012-09-20T17:11:30.297 回答
2

在您的选择器上包括:visible选择器:

$('.lineitemtotal:visible');
于 2012-09-20T17:10:29.357 回答
2

如果您确定该属性将始终存在style="display:none;",则可以使用属性选择器。

而不是这个:

var line = $('.item');

试试这个:

var line = $('.item[style!="display:none;"]');

using[attribute="value"]查找attribute具有 value的元素,在查找不匹配的内容之前value添加。!=

于 2012-09-20T17:13:53.273 回答