Solution 1 :

Like this

var $filterListMenu = $('ul.category-menu');
var filterListMenuSize = $filterListMenu.length;

$filterListMenu.each((i, el) => {
  let count = $(el).children('li').length;
  $(el).next('button').toggleClass('d-none', count <= 6);
});
.d-none {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="sidebar">
  <ul class="category-menu" id="category1">
    <li>First Ul li1 </li>
    <li>First Ul li2 </li>
    <li>First Ul li3 </li>
    <li>First Ul li4</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category1" role="button" aria-expanded="false" aria-controls="category1">Click Here</button>

  <ul class="category-menu" id="category2">
    <li>Second Ul li1 </li>
    <li>Second Ul li2 </li>
    <li>Second Ul li3 </li>
    <li>Second Ul li4</li>
    <li>Second Ul li5</li>
    <li>Second Ul li6</li>
    <li>Second Ul li7</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category2" role="button" aria-expanded="false" aria-controls="category2">Click Here</button>

</div>

or

var $buttons = $('.sidebar .btn').each(function() {
  $(this).toggleClass('d-none', 
    $(this).prev('.category-menu').find('li').length <= 6)
})
.d-none {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="sidebar">
  <ul class="category-menu" id="category1">
    <li>First Ul li1 </li>
    <li>First Ul li2 </li>
    <li>First Ul li3 </li>
    <li>First Ul li4</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category1" role="button" aria-expanded="false" aria-controls="category1">Click Here</button>

  <ul class="category-menu" id="category2">
    <li>Second Ul li1 </li>
    <li>Second Ul li2 </li>
    <li>Second Ul li3 </li>
    <li>Second Ul li4</li>
    <li>Second Ul li5</li>
    <li>Second Ul li6</li>
    <li>Second Ul li7</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category2" role="button" aria-expanded="false" aria-controls="category2">Click Here</button>

</div>

Solution 2 :

One approach is as follows:

var $filterListMenu = $('ul.category-menu');
var filterListMenuSize = $filterListMenu.length;

$filterListMenu.each((i, el) => {
  let count = $(el).children('li').length,
      // caching a reference to the relevant <button>
      // to be shown or hidden:
      button = $(el).next('button.btn');

  // here we use square bracket notation to access
  // either the hide(), or show(), method of the
  // jQuery Object referring to the current element,
  // with the ternary/Conditional statement; if
  // the count is less than, or equal to, 6 then
  // we hide the element otherwise we show the <button>:
  button[ count <= 6 ? 'hide' : 'show' ]();
      
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="sidebar">
  <ul class="category-menu" id="category1">
    <li>First Ul li1 </li>
    <li>First Ul li2 </li>
    <li>First Ul li3 </li>
    <li>First Ul li4</li>
  </ul>
  <button class="btn" data-toggle="collapse" href="#category1" role="button" aria-expanded="false" aria-controls="category1">Click Here</button>

  <ul class="category-menu" id="category2">
    <li>Second Ul li1 </li>
    <li>Second Ul li2 </li>
    <li>Second Ul li3 </li>
    <li>Second Ul li4</li>
    <li>Second Ul li5</li>
    <li>Second Ul li6</li>
    <li>Second Ul li7</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category2" role="button" aria-expanded="false" aria-controls="category2">Click Here</button>

</div>

References:

Problem :

I want to hide/show the button from the below code depending the number list items (if ul has 6 or less li to hide button). In the example below I want to hide the button related to the first category since it has 4 list items. That would be dynamic so I want to check every ul.

I tried the code below and it hides all the buttons. Any help would be appreciated. Thank you in advance.

var $filterListMenu = $('ul.category-menu');
var filterListMenuSize = $filterListMenu.length;

$filterListMenu.each((i, el) => {
  let count = $(el).children('li').length;
  console.log('inner page length: ' + count);

  if (count <= 6) {
    $(this).find('button').addClass('d-none');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<div class="sidebar">
  <ul class="category-menu" id="category1">
    <li>First Ul li1 </li>
    <li>First Ul li2 </li>
    <li>First Ul li3 </li>
    <li>First Ul li4</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category1" role="button" aria-expanded="false" aria-controls="category1">Click Here</button>

  <ul class="category-menu" id="category2">
    <li>Second Ul li1 </li>
    <li>Second Ul li2 </li>
    <li>Second Ul li3 </li>
    <li>Second Ul li4</li>
    <li>Second Ul li5</li>
    <li>Second Ul li6</li>
    <li>Second Ul li7</li>

  </ul>
  <button class="btn" data-toggle="collapse" href="#category2" role="button" aria-expanded="false" aria-controls="category2">Click Here</button>

</div>

By