'Explanation of Search Function in javascript

I am trying to right a short explanation for this code that i have involved in my website to search the first column in a table. Can anyone help me with this? I am unsure if this is against the rules for stackoverflow, but giving it a shot. (the code works fine)

function tableSearch(){
    let input, filter, table, tr, td, h, txtValue;

    //Initializing Var
    input = document.getElementById("myInput");
    filter = input.value.toUpperCase();
    table = document.getElementById("myTable");
    tr = document.getElementsByTagName("tr");

    for(let h = 0; h < tr.length; h++){
        td = tr[h].getElementsByTagName("td")[0];
        if(td){
            txtValue = td.textContent || td.innerText;
            if(txtValue.toUpperCase().indexOf(filter) > -1){
                tr[h].style.display = "";
            }
            else {
                tr[h].style.display = "none";
            }
        }
    }
}


Solution 1:[1]

function tableSearch(){
    let input, filter, table, tr, td, h, txtValue;

    //Initializing Var
    input = document.getElementById("myInput"); //find input element
    filter = input.value.toUpperCase(); //the search value in user's search input
    table = document.getElementById("myTable"); //don't see anywhere using this variable
    tr = document.getElementsByTagName("tr"); //get all `tr` (maybe from your table?)

    //loop through all `tr`
    for(let h = 0; h < tr.length; h++){
        //get only first `td` from the current `tr` (`tr` is based on index)
        td = tr[h].getElementsByTagName("td")[0];
        //if found the first `td`
        if(td){

            //get the first `td` content
            txtValue = td.textContent || td.innerText;
 
            //if the first `td` content matches with your search input
            //show the entire current `tr`
            if(txtValue.toUpperCase().indexOf(filter) > -1){
                tr[h].style.display = "";
            }
            //if the first `td` content does not with your search input
            //hide the entire current `tr`
            else {
                tr[h].style.display = "none";
            }
        }
    }
}

One side note here that toUpperCase() on search input value and td content is to ignore case sensitive

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1