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');

このセットには、クラスを持つ非表示ではない要素が含まれています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;"]');

with value[attribute="value"]を持つ要素を検索し、一致しないものを検索する前にを追加します。attributevalue!=

于 2012-09-20T17:13:53.273 に答える