Javascript jQuery。选择有类但没有样式的所有元素=";显示:无&引用;属性

Javascript jQuery。选择有类但没有样式的所有元素=";显示:无&引用;属性,javascript,jquery,Javascript,Jquery,我有下面的类,它选择td.lineitemtotal单元格中的内容,并在getTotal函数中使用它来获得单元格的总数。但是,我不希望函数使用带有style=“display:none;”属性的tr.line\u item\u行中的行 $(document).ready(function() { var line = $('.item'); // so the line totals are calculated on page load getLineItemTotals(line

我有下面的类,它选择td.lineitemtotal单元格中的内容,并在getTotal函数中使用它来获得单元格的总数。但是,我不希望函数使用带有style=“display:none;”属性的tr.line\u item\u行中的行

$(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));
}
你想要这个吗

$('.lineitemtotal:visible');
$('.lineitemtotal:visible');

此集合包含在选择器上具有class
lineitemtotal

的非隐藏元素,包括选择器:


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

与此相反:

var line = $('.item');
试试这个:

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

使用
[attribute=“value”]
查找具有值
属性
的元素,添加
之前,
=
查找不匹配的内容。

+1
我正要回答:)如果元素的属性中有其他样式,该怎么办?为什么不使用
:visible
选择器?@第一句话中未定义的要点。我以为那是唯一的风格。至于不使用
:visible
,我这样做是因为visible也考虑了
可见性:hidden
,而OP并没有要求这样做。既然样式中包含多个属性,它是否应该像[style*=“display:none”]?有趣的解决方案(
:visible
不起作用,因为我首先淡出了整个div,然后在淡入之前运行了此检查),但我必须调整一件事。jQuery(至少是更高版本;在编写此答案时,我无法与最新版本对话)在冒号和值之间设置了一个空格,因此您必须执行
:not([style])*=“display:none”]
。是的!我花了5秒的时间来qoogle、search、find:)写这篇评论绝对值得。
var line = $('.item[style!="display:none;"]');