$("tr:has(div:contains('-'))").hide();
будет искать - (отрицательный) в каждом DIV TD, а затем это решение не будет работать, если в будущем какой-либо div поступит в TD.
В нижеприведенном решении он будет искать отрицательное значение только в negMoney, который является вторым TD строки.
$(".negMoney").each(function(i){
var val = $(this).html();
var isNegative = Number((val.substr(1)).replace(/\,/g,'')) < 0;
if(isNegative) {
$("tr:eq( "+ i +" )").hide();
}
});
Используйте селектора has
и contains
в jQuery.
$("tr:has(div:contains('-'))").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class="Cont">
<td>Name of something a</td>
<td><div class="negMoney">$-1,000.22</div></td>
</tr>
<tr class="Cont">
<td>Name of something b</td>
<td><div class="negMoney">$1,000.22</div></td>
</tr>
<tr class="Cont">
<td>Name of something c</td>
<td><div class="negMoney">$-1,000.22</div></td>
</tr>
<tr class="Cont">
<td>Name of something d</td>
<td><div class="negMoney">$1,000.22</div></td>
</tr>
<tr class="Cont">
<td>Name of something e</td>
<td><div class="negMoney">$1,000.22</div></td>
</tr>