Search code examples
javascripthtmlclickhtml-lists

Click li element JavaScript Programmatically


Click li element "Last 30 days" programmatically (console)

<div class="ranges">
      <ul>
        <li>Today</li>
        <li >Yesterday</li> 
        <li>Last 7 days</li>
        <li>Last 30 days</li>
        <li class="">This month</li>
        <li>Custom Range</li>
    </ul>
  </div>

I tried many way but failed

Like.

$('#Last 30 days').trigger('click');
$('#Last 30 days').click();

I'm new in JavaScript Please help me


Solution

  • Trigger the click based on HTML inside.

    let listItems = document.querySelectorAll('.ranges li');
    
    listItems.forEach((item, index) => {
      item.addEventListener('click', (event) => {
         alert(`${event.currentTarget.innerHTML} item was click`);
      });
      if (item.innerHTML.indexOf('Last 30 days') != -1) {
          item.click();
      }
    });
    <div class="ranges">
        <ul>
          <li>Today</li>
          <li>Yesterday</li> 
          <li>Last 7 days</li>
          <li>Last 30 days</li>
          <li>This month</li>
          <li>Custom Range</li>
      </ul>
    </div>