jQuery的。选择具有类但没有style =“display:none;”的所有元素属性

时间:2012-09-20 17:08:07

标签: javascript jquery

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

$(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 个答案:

答案 0 :(得分:10)

你想要这个吗?

$('.lineitemtotal:visible');

此集合包含具有类lineitemtotal的非隐藏元素。

答案 1 :(得分:4)

var line_totals = $('.lineitemtotal:not([style*="display:none"])');

答案 2 :(得分:2)

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

$('.lineitemtotal:visible');

答案 3 :(得分:2)

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

而不是:

var line = $('.item');

试试这个:

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

使用[attribute="value"]查找attribute值为value的元素,在!查找不匹配的内容之前添加=。< / p>