Actualmente tengo una barra de búsqueda que busca texto en una tabla. He agregado una información sobre herramientas en la tabla que me causa algunos problemas. El código para ello se ve así:
<tr> <td>Spain</td> <td>Portugal</td> <td>Turkey</td> <td>Greece <span data-text="This is just a placeholder..." class="tooltip"><i style="font-size: 20px; color: #556B2F" class="fa fa-info-circle" id="info-i"></i></span></td> </tr>Tengo un script que busca elementos en los campos. El problema es que, dado que tengo la información sobre herramientas dentro de una, también muestra esa línea cada vez que agrego texto en la barra de búsqueda que coincide con el código de la información sobre herramientas. No solo muestra un resultado en Grecia, también muestra cuando escribo "Span" ya que tengo un interior.
Mi JS:
function performSearch() { var filter = searchBox.value.toUpperCase(); for (var rowI = 0; rowI < trs.length; rowI++) { var tds = trs[rowI].getElementsByTagName("td"); trs[rowI].style.display = "none"; for (var cellI = 0; cellI < tds.length; cellI++) { if (tds[cellI].innerHTML.toUpperCase().indexOf(filter) > -1) { myTable.style.display = "table"; trs[rowI].style.display = ""; continue; } } } if (searchBox.value === ''){ table.style.display='none'; } else { table.style.display='table'; } }¿Hay alguna forma de que JS no muestre más que el texto puro en los resultados y no todo, incluido el código?