I have a table with a couple of rows, each row with two columns, the first column will hold title and second column will have the respective values.sometimes, cells in the right
Try this:
$('.EventDetail tr').each(function(){
if ($('td:empty',this).length > 0))
$(this).hide();
});
I think this will work:
$('.EventDetail tr').has('td:nth-child(2):empty').hide()
You can try it on jsFiddle.
You can try this:
$(document).ready(function(){
$('.EventDetail tr').each(function(){
if ( $(this).children().not('.TableFields').text().length == 0 )
$(this).hide();
});
});
Your selector will cause the if statement never to be true for any row in your example. $("td:not(:empty)")
always selects the <td>
element with the title, so length is always 1
. if(!1)
is never true.
You should remove the double negative (the !
and the :not
) to make it clearer, and then check that the length (i.e. number of matched elements) is > 0
.