// handle click
document.querySelector('#contains').addEventListener('click', () => {
// filter items
const rowsToHide = Array.from(document.querySelectorAll('tr')).filter(row => {
// get first content
const content = row.querySelector('td').textContent
// check all items is equal to first element
return Array.from(row.querySelectorAll('td'))
.some(row => row.textContent !== content)
})
// perform action
rowsToHide.forEach(row => { row.style.display = 'none' })
})
Maybe something like this
$('#contains').
change( function()
{
$('tr').each(function()
{
var hiderow=1;
var firsttd = $('td',this)[0];
if(firsttd)
{
var firsttdtext =firsttd.innerHTML;
$('td',this).each(function(index,element)
{
if(index<1)
return;
if(firsttdtext != element.innerHTML)
hiderow=0;
});
if(hiderow==1)
$(this).toggle();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="contains" >Hide same values
<br/>
<table border="1" style="text-align:center;">
<tr>
<th>Name</th><th>Lastname</th>
</tr>
<tr>
<td>text2</td><td>text2</td><td>text2</td>
</tr>
<tr>
<td>text3</td><td>text4</td><td>text4</td>
</tr>
<tr>
<td>textxyz</td><td>textxyz</td><td>textxyz</td>
</tr>
</table>
I want to show/hide tr when all td have same values in current tr.in second tr have 2 same value but i m able to hide/show . it will show hide when all td value same.
$('#contains').change( function() {
$('td:contains("text2")').parent().toggle();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="contains" >contains text2
<br/>
<table border="1" style="text-align:center;">
<tr>
<th>Name</th><th>Lastname</th>
</tr>
<tr>
<td>text1</td><td>text2</td><td>text2</td>
</tr>
<tr>
<td>text3</td><td>text4</td><td>text4</td>
</tr>
</table>
It’s unclear what you want to happen that doesn’t already happen in the code you provided (converted to a working snippet)